<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>house_price</title>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

    <style type="text/css">
        /*!
*
* Twitter Bootstrap
*
*/
        /*!
 * Bootstrap v3.3.6 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
        /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
        html {
            font-family: sans-serif;
            -ms-text-size-adjust: 100%;
            -webkit-text-size-adjust: 100%;
        }

        body {
            margin: 0;
        }

        article,
        aside,
        details,
        figcaption,
        figure,
        footer,
        header,
        hgroup,
        main,
        menu,
        nav,
        section,
        summary {
            display: block;
        }

        audio,
        canvas,
        progress,
        video {
            display: inline-block;
            vertical-align: baseline;
        }

        audio:not([controls]) {
            display: none;
            height: 0;
        }

        [hidden],
        template {
            display: none;
        }

        a {
            background-color: transparent;
        }

        a:active,
        a:hover {
            outline: 0;
        }

        abbr[title] {
            border-bottom: 1px dotted;
        }

        b,
        strong {
            font-weight: bold;
        }

        dfn {
            font-style: italic;
        }

        h1 {
            font-size: 2em;
            margin: 0.67em 0;
        }

        mark {
            background: #ff0;
            color: #000;
        }

        small {
            font-size: 80%;
        }

        sub,
        sup {
            font-size: 75%;
            line-height: 0;
            position: relative;
            vertical-align: baseline;
        }

        sup {
            top: -0.5em;
        }

        sub {
            bottom: -0.25em;
        }

        img {
            border: 0;
        }

        svg:not(:root) {
            overflow: hidden;
        }

        figure {
            margin: 1em 40px;
        }

        hr {
            box-sizing: content-box;
            height: 0;
        }

        pre {
            overflow: auto;
        }

        code,
        kbd,
        pre,
        samp {
            font-family: monospace, monospace;
            font-size: 1em;
        }

        button,
        input,
        optgroup,
        select,
        textarea {
            color: inherit;
            font: inherit;
            margin: 0;
        }

        button {
            overflow: visible;
        }

        button,
        select {
            text-transform: none;
        }

        button,
        html input[type="button"],
        input[type="reset"],
        input[type="submit"] {
            -webkit-appearance: button;
            cursor: pointer;
        }

        button[disabled],
        html input[disabled] {
            cursor: default;
        }

        button::-moz-focus-inner,
        input::-moz-focus-inner {
            border: 0;
            padding: 0;
        }

        input {
            line-height: normal;
        }

        input[type="checkbox"],
        input[type="radio"] {
            box-sizing: border-box;
            padding: 0;
        }

        input[type="number"]::-webkit-inner-spin-button,
        input[type="number"]::-webkit-outer-spin-button {
            height: auto;
        }

        input[type="search"] {
            -webkit-appearance: textfield;
            box-sizing: content-box;
        }

        input[type="search"]::-webkit-search-cancel-button,
        input[type="search"]::-webkit-search-decoration {
            -webkit-appearance: none;
        }

        fieldset {
            border: 1px solid #c0c0c0;
            margin: 0 2px;
            padding: 0.35em 0.625em 0.75em;
        }

        legend {
            border: 0;
            padding: 0;
        }

        textarea {
            overflow: auto;
        }

        optgroup {
            font-weight: bold;
        }

        table {
            border-collapse: collapse;
            border-spacing: 0;
        }

        td,
        th {
            padding: 0;
        }

        /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
        @media print {
            *,
            *:before,
            *:after {
                background: transparent !important;
                color: #000 !important;
                box-shadow: none !important;
                text-shadow: none !important;
            }

            a,
            a:visited {
                text-decoration: underline;
            }

            a[href]:after {
                content: " (" attr(href) ")";
            }

            abbr[title]:after {
                content: " (" attr(title) ")";
            }

            a[href^="#"]:after,
            a[href^="javascript:"]:after {
                content: "";
            }

            pre,
            blockquote {
                border: 1px solid #999;
                page-break-inside: avoid;
            }

            thead {
                display: table-header-group;
            }

            tr,
            img {
                page-break-inside: avoid;
            }

            img {
                max-width: 100% !important;
            }

            p,
            h2,
            h3 {
                orphans: 3;
                widows: 3;
            }

            h2,
            h3 {
                page-break-after: avoid;
            }

            .navbar {
                display: none;
            }

            .btn > .caret,
            .dropup > .btn > .caret {
                border-top-color: #000 !important;
            }

            .label {
                border: 1px solid #000;
            }

            .table {
                border-collapse: collapse !important;
            }

            .table td,
            .table th {
                background-color: #fff !important;
            }

            .table-bordered th,
            .table-bordered td {
                border: 1px solid #ddd !important;
            }
        }

        @font-face {
            font-family: 'Glyphicons Halflings';
            src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
            src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
        }

        .glyphicon {
            position: relative;
            top: 1px;
            display: inline-block;
            font-family: 'Glyphicons Halflings';
            font-style: normal;
            font-weight: normal;
            line-height: 1;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        .glyphicon-asterisk:before {
            content: "\002a";
        }

        .glyphicon-plus:before {
            content: "\002b";
        }

        .glyphicon-euro:before,
        .glyphicon-eur:before {
            content: "\20ac";
        }

        .glyphicon-minus:before {
            content: "\2212";
        }

        .glyphicon-cloud:before {
            content: "\2601";
        }

        .glyphicon-envelope:before {
            content: "\2709";
        }

        .glyphicon-pencil:before {
            content: "\270f";
        }

        .glyphicon-glass:before {
            content: "\e001";
        }

        .glyphicon-music:before {
            content: "\e002";
        }

        .glyphicon-search:before {
            content: "\e003";
        }

        .glyphicon-heart:before {
            content: "\e005";
        }

        .glyphicon-star:before {
            content: "\e006";
        }

        .glyphicon-star-empty:before {
            content: "\e007";
        }

        .glyphicon-user:before {
            content: "\e008";
        }

        .glyphicon-film:before {
            content: "\e009";
        }

        .glyphicon-th-large:before {
            content: "\e010";
        }

        .glyphicon-th:before {
            content: "\e011";
        }

        .glyphicon-th-list:before {
            content: "\e012";
        }

        .glyphicon-ok:before {
            content: "\e013";
        }

        .glyphicon-remove:before {
            content: "\e014";
        }

        .glyphicon-zoom-in:before {
            content: "\e015";
        }

        .glyphicon-zoom-out:before {
            content: "\e016";
        }

        .glyphicon-off:before {
            content: "\e017";
        }

        .glyphicon-signal:before {
            content: "\e018";
        }

        .glyphicon-cog:before {
            content: "\e019";
        }

        .glyphicon-trash:before {
            content: "\e020";
        }

        .glyphicon-home:before {
            content: "\e021";
        }

        .glyphicon-file:before {
            content: "\e022";
        }

        .glyphicon-time:before {
            content: "\e023";
        }

        .glyphicon-road:before {
            content: "\e024";
        }

        .glyphicon-download-alt:before {
            content: "\e025";
        }

        .glyphicon-download:before {
            content: "\e026";
        }

        .glyphicon-upload:before {
            content: "\e027";
        }

        .glyphicon-inbox:before {
            content: "\e028";
        }

        .glyphicon-play-circle:before {
            content: "\e029";
        }

        .glyphicon-repeat:before {
            content: "\e030";
        }

        .glyphicon-refresh:before {
            content: "\e031";
        }

        .glyphicon-list-alt:before {
            content: "\e032";
        }

        .glyphicon-lock:before {
            content: "\e033";
        }

        .glyphicon-flag:before {
            content: "\e034";
        }

        .glyphicon-headphones:before {
            content: "\e035";
        }

        .glyphicon-volume-off:before {
            content: "\e036";
        }

        .glyphicon-volume-down:before {
            content: "\e037";
        }

        .glyphicon-volume-up:before {
            content: "\e038";
        }

        .glyphicon-qrcode:before {
            content: "\e039";
        }

        .glyphicon-barcode:before {
            content: "\e040";
        }

        .glyphicon-tag:before {
            content: "\e041";
        }

        .glyphicon-tags:before {
            content: "\e042";
        }

        .glyphicon-book:before {
            content: "\e043";
        }

        .glyphicon-bookmark:before {
            content: "\e044";
        }

        .glyphicon-print:before {
            content: "\e045";
        }

        .glyphicon-camera:before {
            content: "\e046";
        }

        .glyphicon-font:before {
            content: "\e047";
        }

        .glyphicon-bold:before {
            content: "\e048";
        }

        .glyphicon-italic:before {
            content: "\e049";
        }

        .glyphicon-text-height:before {
            content: "\e050";
        }

        .glyphicon-text-width:before {
            content: "\e051";
        }

        .glyphicon-align-left:before {
            content: "\e052";
        }

        .glyphicon-align-center:before {
            content: "\e053";
        }

        .glyphicon-align-right:before {
            content: "\e054";
        }

        .glyphicon-align-justify:before {
            content: "\e055";
        }

        .glyphicon-list:before {
            content: "\e056";
        }

        .glyphicon-indent-left:before {
            content: "\e057";
        }

        .glyphicon-indent-right:before {
            content: "\e058";
        }

        .glyphicon-facetime-video:before {
            content: "\e059";
        }

        .glyphicon-picture:before {
            content: "\e060";
        }

        .glyphicon-map-marker:before {
            content: "\e062";
        }

        .glyphicon-adjust:before {
            content: "\e063";
        }

        .glyphicon-tint:before {
            content: "\e064";
        }

        .glyphicon-edit:before {
            content: "\e065";
        }

        .glyphicon-share:before {
            content: "\e066";
        }

        .glyphicon-check:before {
            content: "\e067";
        }

        .glyphicon-move:before {
            content: "\e068";
        }

        .glyphicon-step-backward:before {
            content: "\e069";
        }

        .glyphicon-fast-backward:before {
            content: "\e070";
        }

        .glyphicon-backward:before {
            content: "\e071";
        }

        .glyphicon-play:before {
            content: "\e072";
        }

        .glyphicon-pause:before {
            content: "\e073";
        }

        .glyphicon-stop:before {
            content: "\e074";
        }

        .glyphicon-forward:before {
            content: "\e075";
        }

        .glyphicon-fast-forward:before {
            content: "\e076";
        }

        .glyphicon-step-forward:before {
            content: "\e077";
        }

        .glyphicon-eject:before {
            content: "\e078";
        }

        .glyphicon-chevron-left:before {
            content: "\e079";
        }

        .glyphicon-chevron-right:before {
            content: "\e080";
        }

        .glyphicon-plus-sign:before {
            content: "\e081";
        }

        .glyphicon-minus-sign:before {
            content: "\e082";
        }

        .glyphicon-remove-sign:before {
            content: "\e083";
        }

        .glyphicon-ok-sign:before {
            content: "\e084";
        }

        .glyphicon-question-sign:before {
            content: "\e085";
        }

        .glyphicon-info-sign:before {
            content: "\e086";
        }

        .glyphicon-screenshot:before {
            content: "\e087";
        }

        .glyphicon-remove-circle:before {
            content: "\e088";
        }

        .glyphicon-ok-circle:before {
            content: "\e089";
        }

        .glyphicon-ban-circle:before {
            content: "\e090";
        }

        .glyphicon-arrow-left:before {
            content: "\e091";
        }

        .glyphicon-arrow-right:before {
            content: "\e092";
        }

        .glyphicon-arrow-up:before {
            content: "\e093";
        }

        .glyphicon-arrow-down:before {
            content: "\e094";
        }

        .glyphicon-share-alt:before {
            content: "\e095";
        }

        .glyphicon-resize-full:before {
            content: "\e096";
        }

        .glyphicon-resize-small:before {
            content: "\e097";
        }

        .glyphicon-exclamation-sign:before {
            content: "\e101";
        }

        .glyphicon-gift:before {
            content: "\e102";
        }

        .glyphicon-leaf:before {
            content: "\e103";
        }

        .glyphicon-fire:before {
            content: "\e104";
        }

        .glyphicon-eye-open:before {
            content: "\e105";
        }

        .glyphicon-eye-close:before {
            content: "\e106";
        }

        .glyphicon-warning-sign:before {
            content: "\e107";
        }

        .glyphicon-plane:before {
            content: "\e108";
        }

        .glyphicon-calendar:before {
            content: "\e109";
        }

        .glyphicon-random:before {
            content: "\e110";
        }

        .glyphicon-comment:before {
            content: "\e111";
        }

        .glyphicon-magnet:before {
            content: "\e112";
        }

        .glyphicon-chevron-up:before {
            content: "\e113";
        }

        .glyphicon-chevron-down:before {
            content: "\e114";
        }

        .glyphicon-retweet:before {
            content: "\e115";
        }

        .glyphicon-shopping-cart:before {
            content: "\e116";
        }

        .glyphicon-folder-close:before {
            content: "\e117";
        }

        .glyphicon-folder-open:before {
            content: "\e118";
        }

        .glyphicon-resize-vertical:before {
            content: "\e119";
        }

        .glyphicon-resize-horizontal:before {
            content: "\e120";
        }

        .glyphicon-hdd:before {
            content: "\e121";
        }

        .glyphicon-bullhorn:before {
            content: "\e122";
        }

        .glyphicon-bell:before {
            content: "\e123";
        }

        .glyphicon-certificate:before {
            content: "\e124";
        }

        .glyphicon-thumbs-up:before {
            content: "\e125";
        }

        .glyphicon-thumbs-down:before {
            content: "\e126";
        }

        .glyphicon-hand-right:before {
            content: "\e127";
        }

        .glyphicon-hand-left:before {
            content: "\e128";
        }

        .glyphicon-hand-up:before {
            content: "\e129";
        }

        .glyphicon-hand-down:before {
            content: "\e130";
        }

        .glyphicon-circle-arrow-right:before {
            content: "\e131";
        }

        .glyphicon-circle-arrow-left:before {
            content: "\e132";
        }

        .glyphicon-circle-arrow-up:before {
            content: "\e133";
        }

        .glyphicon-circle-arrow-down:before {
            content: "\e134";
        }

        .glyphicon-globe:before {
            content: "\e135";
        }

        .glyphicon-wrench:before {
            content: "\e136";
        }

        .glyphicon-tasks:before {
            content: "\e137";
        }

        .glyphicon-filter:before {
            content: "\e138";
        }

        .glyphicon-briefcase:before {
            content: "\e139";
        }

        .glyphicon-fullscreen:before {
            content: "\e140";
        }

        .glyphicon-dashboard:before {
            content: "\e141";
        }

        .glyphicon-paperclip:before {
            content: "\e142";
        }

        .glyphicon-heart-empty:before {
            content: "\e143";
        }

        .glyphicon-link:before {
            content: "\e144";
        }

        .glyphicon-phone:before {
            content: "\e145";
        }

        .glyphicon-pushpin:before {
            content: "\e146";
        }

        .glyphicon-usd:before {
            content: "\e148";
        }

        .glyphicon-gbp:before {
            content: "\e149";
        }

        .glyphicon-sort:before {
            content: "\e150";
        }

        .glyphicon-sort-by-alphabet:before {
            content: "\e151";
        }

        .glyphicon-sort-by-alphabet-alt:before {
            content: "\e152";
        }

        .glyphicon-sort-by-order:before {
            content: "\e153";
        }

        .glyphicon-sort-by-order-alt:before {
            content: "\e154";
        }

        .glyphicon-sort-by-attributes:before {
            content: "\e155";
        }

        .glyphicon-sort-by-attributes-alt:before {
            content: "\e156";
        }

        .glyphicon-unchecked:before {
            content: "\e157";
        }

        .glyphicon-expand:before {
            content: "\e158";
        }

        .glyphicon-collapse-down:before {
            content: "\e159";
        }

        .glyphicon-collapse-up:before {
            content: "\e160";
        }

        .glyphicon-log-in:before {
            content: "\e161";
        }

        .glyphicon-flash:before {
            content: "\e162";
        }

        .glyphicon-log-out:before {
            content: "\e163";
        }

        .glyphicon-new-window:before {
            content: "\e164";
        }

        .glyphicon-record:before {
            content: "\e165";
        }

        .glyphicon-save:before {
            content: "\e166";
        }

        .glyphicon-open:before {
            content: "\e167";
        }

        .glyphicon-saved:before {
            content: "\e168";
        }

        .glyphicon-import:before {
            content: "\e169";
        }

        .glyphicon-export:before {
            content: "\e170";
        }

        .glyphicon-send:before {
            content: "\e171";
        }

        .glyphicon-floppy-disk:before {
            content: "\e172";
        }

        .glyphicon-floppy-saved:before {
            content: "\e173";
        }

        .glyphicon-floppy-remove:before {
            content: "\e174";
        }

        .glyphicon-floppy-save:before {
            content: "\e175";
        }

        .glyphicon-floppy-open:before {
            content: "\e176";
        }

        .glyphicon-credit-card:before {
            content: "\e177";
        }

        .glyphicon-transfer:before {
            content: "\e178";
        }

        .glyphicon-cutlery:before {
            content: "\e179";
        }

        .glyphicon-header:before {
            content: "\e180";
        }

        .glyphicon-compressed:before {
            content: "\e181";
        }

        .glyphicon-earphone:before {
            content: "\e182";
        }

        .glyphicon-phone-alt:before {
            content: "\e183";
        }

        .glyphicon-tower:before {
            content: "\e184";
        }

        .glyphicon-stats:before {
            content: "\e185";
        }

        .glyphicon-sd-video:before {
            content: "\e186";
        }

        .glyphicon-hd-video:before {
            content: "\e187";
        }

        .glyphicon-subtitles:before {
            content: "\e188";
        }

        .glyphicon-sound-stereo:before {
            content: "\e189";
        }

        .glyphicon-sound-dolby:before {
            content: "\e190";
        }

        .glyphicon-sound-5-1:before {
            content: "\e191";
        }

        .glyphicon-sound-6-1:before {
            content: "\e192";
        }

        .glyphicon-sound-7-1:before {
            content: "\e193";
        }

        .glyphicon-copyright-mark:before {
            content: "\e194";
        }

        .glyphicon-registration-mark:before {
            content: "\e195";
        }

        .glyphicon-cloud-download:before {
            content: "\e197";
        }

        .glyphicon-cloud-upload:before {
            content: "\e198";
        }

        .glyphicon-tree-conifer:before {
            content: "\e199";
        }

        .glyphicon-tree-deciduous:before {
            content: "\e200";
        }

        .glyphicon-cd:before {
            content: "\e201";
        }

        .glyphicon-save-file:before {
            content: "\e202";
        }

        .glyphicon-open-file:before {
            content: "\e203";
        }

        .glyphicon-level-up:before {
            content: "\e204";
        }

        .glyphicon-copy:before {
            content: "\e205";
        }

        .glyphicon-paste:before {
            content: "\e206";
        }

        .glyphicon-alert:before {
            content: "\e209";
        }

        .glyphicon-equalizer:before {
            content: "\e210";
        }

        .glyphicon-king:before {
            content: "\e211";
        }

        .glyphicon-queen:before {
            content: "\e212";
        }

        .glyphicon-pawn:before {
            content: "\e213";
        }

        .glyphicon-bishop:before {
            content: "\e214";
        }

        .glyphicon-knight:before {
            content: "\e215";
        }

        .glyphicon-baby-formula:before {
            content: "\e216";
        }

        .glyphicon-tent:before {
            content: "\26fa";
        }

        .glyphicon-blackboard:before {
            content: "\e218";
        }

        .glyphicon-bed:before {
            content: "\e219";
        }

        .glyphicon-apple:before {
            content: "\f8ff";
        }

        .glyphicon-erase:before {
            content: "\e221";
        }

        .glyphicon-hourglass:before {
            content: "\231b";
        }

        .glyphicon-lamp:before {
            content: "\e223";
        }

        .glyphicon-duplicate:before {
            content: "\e224";
        }

        .glyphicon-piggy-bank:before {
            content: "\e225";
        }

        .glyphicon-scissors:before {
            content: "\e226";
        }

        .glyphicon-bitcoin:before {
            content: "\e227";
        }

        .glyphicon-btc:before {
            content: "\e227";
        }

        .glyphicon-xbt:before {
            content: "\e227";
        }

        .glyphicon-yen:before {
            content: "\00a5";
        }

        .glyphicon-jpy:before {
            content: "\00a5";
        }

        .glyphicon-ruble:before {
            content: "\20bd";
        }

        .glyphicon-rub:before {
            content: "\20bd";
        }

        .glyphicon-scale:before {
            content: "\e230";
        }

        .glyphicon-ice-lolly:before {
            content: "\e231";
        }

        .glyphicon-ice-lolly-tasted:before {
            content: "\e232";
        }

        .glyphicon-education:before {
            content: "\e233";
        }

        .glyphicon-option-horizontal:before {
            content: "\e234";
        }

        .glyphicon-option-vertical:before {
            content: "\e235";
        }

        .glyphicon-menu-hamburger:before {
            content: "\e236";
        }

        .glyphicon-modal-window:before {
            content: "\e237";
        }

        .glyphicon-oil:before {
            content: "\e238";
        }

        .glyphicon-grain:before {
            content: "\e239";
        }

        .glyphicon-sunglasses:before {
            content: "\e240";
        }

        .glyphicon-text-size:before {
            content: "\e241";
        }

        .glyphicon-text-color:before {
            content: "\e242";
        }

        .glyphicon-text-background:before {
            content: "\e243";
        }

        .glyphicon-object-align-top:before {
            content: "\e244";
        }

        .glyphicon-object-align-bottom:before {
            content: "\e245";
        }

        .glyphicon-object-align-horizontal:before {
            content: "\e246";
        }

        .glyphicon-object-align-left:before {
            content: "\e247";
        }

        .glyphicon-object-align-vertical:before {
            content: "\e248";
        }

        .glyphicon-object-align-right:before {
            content: "\e249";
        }

        .glyphicon-triangle-right:before {
            content: "\e250";
        }

        .glyphicon-triangle-left:before {
            content: "\e251";
        }

        .glyphicon-triangle-bottom:before {
            content: "\e252";
        }

        .glyphicon-triangle-top:before {
            content: "\e253";
        }

        .glyphicon-console:before {
            content: "\e254";
        }

        .glyphicon-superscript:before {
            content: "\e255";
        }

        .glyphicon-subscript:before {
            content: "\e256";
        }

        .glyphicon-menu-left:before {
            content: "\e257";
        }

        .glyphicon-menu-right:before {
            content: "\e258";
        }

        .glyphicon-menu-down:before {
            content: "\e259";
        }

        .glyphicon-menu-up:before {
            content: "\e260";
        }

        * {
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
        }

        *:before,
        *:after {
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
        }

        html {
            font-size: 10px;
            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
        }

        body {
            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
            font-size: 13px;
            line-height: 1.42857143;
            color: #000;
            background-color: #fff;
        }

        input,
        button,
        select,
        textarea {
            font-family: inherit;
            font-size: inherit;
            line-height: inherit;
        }

        a {
            color: #337ab7;
            text-decoration: none;
        }

        a:hover,
        a:focus {
            color: #23527c;
            text-decoration: underline;
        }

        a:focus {
            outline: thin dotted;
            outline: 5px auto -webkit-focus-ring-color;
            outline-offset: -2px;
        }

        figure {
            margin: 0;
        }

        img {
            vertical-align: middle;
        }

        .img-responsive,
        .thumbnail > img,
        .thumbnail a > img,
        .carousel-inner > .item > img,
        .carousel-inner > .item > a > img {
            display: block;
            max-width: 100%;
            height: auto;
        }

        .img-rounded {
            border-radius: 3px;
        }

        .img-thumbnail {
            padding: 4px;
            line-height: 1.42857143;
            background-color: #fff;
            border: 1px solid #ddd;
            border-radius: 2px;
            -webkit-transition: all 0.2s ease-in-out;
            -o-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
            display: inline-block;
            max-width: 100%;
            height: auto;
        }

        .img-circle {
            border-radius: 50%;
        }

        hr {
            margin-top: 18px;
            margin-bottom: 18px;
            border: 0;
            border-top: 1px solid #eeeeee;
        }

        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            margin: -1px;
            padding: 0;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            border: 0;
        }

        .sr-only-focusable:active,
        .sr-only-focusable:focus {
            position: static;
            width: auto;
            height: auto;
            margin: 0;
            overflow: visible;
            clip: auto;
        }

        [role="button"] {
            cursor: pointer;
        }

        h1,
        h2,
        h3,
        h4,
        h5,
        h6,
        .h1,
        .h2,
        .h3,
        .h4,
        .h5,
        .h6 {
            font-family: inherit;
            font-weight: 500;
            line-height: 1.1;
            color: inherit;
        }

        h1 small,
        h2 small,
        h3 small,
        h4 small,
        h5 small,
        h6 small,
        .h1 small,
        .h2 small,
        .h3 small,
        .h4 small,
        .h5 small,
        .h6 small,
        h1 .small,
        h2 .small,
        h3 .small,
        h4 .small,
        h5 .small,
        h6 .small,
        .h1 .small,
        .h2 .small,
        .h3 .small,
        .h4 .small,
        .h5 .small,
        .h6 .small {
            font-weight: normal;
            line-height: 1;
            color: #777777;
        }

        h1,
        .h1,
        h2,
        .h2,
        h3,
        .h3 {
            margin-top: 18px;
            margin-bottom: 9px;
        }

        h1 small,
        .h1 small,
        h2 small,
        .h2 small,
        h3 small,
        .h3 small,
        h1 .small,
        .h1 .small,
        h2 .small,
        .h2 .small,
        h3 .small,
        .h3 .small {
            font-size: 65%;
        }

        h4,
        .h4,
        h5,
        .h5,
        h6,
        .h6 {
            margin-top: 9px;
            margin-bottom: 9px;
        }

        h4 small,
        .h4 small,
        h5 small,
        .h5 small,
        h6 small,
        .h6 small,
        h4 .small,
        .h4 .small,
        h5 .small,
        .h5 .small,
        h6 .small,
        .h6 .small {
            font-size: 75%;
        }

        h1,
        .h1 {
            font-size: 33px;
        }

        h2,
        .h2 {
            font-size: 27px;
        }

        h3,
        .h3 {
            font-size: 23px;
        }

        h4,
        .h4 {
            font-size: 17px;
        }

        h5,
        .h5 {
            font-size: 13px;
        }

        h6,
        .h6 {
            font-size: 12px;
        }

        p {
            margin: 0 0 9px;
        }

        .lead {
            margin-bottom: 18px;
            font-size: 14px;
            font-weight: 300;
            line-height: 1.4;
        }

        @media (min-width: 768px) {
            .lead {
                font-size: 19.5px;
            }
        }

        small,
        .small {
            font-size: 92%;
        }

        mark,
        .mark {
            background-color: #fcf8e3;
            padding: .2em;
        }

        .text-left {
            text-align: left;
        }

        .text-right {
            text-align: right;
        }

        .text-center {
            text-align: center;
        }

        .text-justify {
            text-align: justify;
        }

        .text-nowrap {
            white-space: nowrap;
        }

        .text-lowercase {
            text-transform: lowercase;
        }

        .text-uppercase {
            text-transform: uppercase;
        }

        .text-capitalize {
            text-transform: capitalize;
        }

        .text-muted {
            color: #777777;
        }

        .text-primary {
            color: #337ab7;
        }

        a.text-primary:hover,
        a.text-primary:focus {
            color: #286090;
        }

        .text-success {
            color: #3c763d;
        }

        a.text-success:hover,
        a.text-success:focus {
            color: #2b542c;
        }

        .text-info {
            color: #31708f;
        }

        a.text-info:hover,
        a.text-info:focus {
            color: #245269;
        }

        .text-warning {
            color: #8a6d3b;
        }

        a.text-warning:hover,
        a.text-warning:focus {
            color: #66512c;
        }

        .text-danger {
            color: #a94442;
        }

        a.text-danger:hover,
        a.text-danger:focus {
            color: #843534;
        }

        .bg-primary {
            color: #fff;
            background-color: #337ab7;
        }

        a.bg-primary:hover,
        a.bg-primary:focus {
            background-color: #286090;
        }

        .bg-success {
            background-color: #dff0d8;
        }

        a.bg-success:hover,
        a.bg-success:focus {
            background-color: #c1e2b3;
        }

        .bg-info {
            background-color: #d9edf7;
        }

        a.bg-info:hover,
        a.bg-info:focus {
            background-color: #afd9ee;
        }

        .bg-warning {
            background-color: #fcf8e3;
        }

        a.bg-warning:hover,
        a.bg-warning:focus {
            background-color: #f7ecb5;
        }

        .bg-danger {
            background-color: #f2dede;
        }

        a.bg-danger:hover,
        a.bg-danger:focus {
            background-color: #e4b9b9;
        }

        .page-header {
            padding-bottom: 8px;
            margin: 36px 0 18px;
            border-bottom: 1px solid #eeeeee;
        }

        ul,
        ol {
            margin-top: 0;
            margin-bottom: 9px;
        }

        ul ul,
        ol ul,
        ul ol,
        ol ol {
            margin-bottom: 0;
        }

        .list-unstyled {
            padding-left: 0;
            list-style: none;
        }

        .list-inline {
            padding-left: 0;
            list-style: none;
            margin-left: -5px;
        }

        .list-inline > li {
            display: inline-block;
            padding-left: 5px;
            padding-right: 5px;
        }

        dl {
            margin-top: 0;
            margin-bottom: 18px;
        }

        dt,
        dd {
            line-height: 1.42857143;
        }

        dt {
            font-weight: bold;
        }

        dd {
            margin-left: 0;
        }

        @media (min-width: 541px) {
            .dl-horizontal dt {
                float: left;
                width: 160px;
                clear: left;
                text-align: right;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .dl-horizontal dd {
                margin-left: 180px;
            }
        }

        abbr[title],
        abbr[data-original-title] {
            cursor: help;
            border-bottom: 1px dotted #777777;
        }

        .initialism {
            font-size: 90%;
            text-transform: uppercase;
        }

        blockquote {
            padding: 9px 18px;
            margin: 0 0 18px;
            font-size: inherit;
            border-left: 5px solid #eeeeee;
        }

        blockquote p:last-child,
        blockquote ul:last-child,
        blockquote ol:last-child {
            margin-bottom: 0;
        }

        blockquote footer,
        blockquote small,
        blockquote .small {
            display: block;
            font-size: 80%;
            line-height: 1.42857143;
            color: #777777;
        }

        blockquote footer:before,
        blockquote small:before,
        blockquote .small:before {
            content: '\2014 \00A0';
        }

        .blockquote-reverse,
        blockquote.pull-right {
            padding-right: 15px;
            padding-left: 0;
            border-right: 5px solid #eeeeee;
            border-left: 0;
            text-align: right;
        }

        .blockquote-reverse footer:before,
        blockquote.pull-right footer:before,
        .blockquote-reverse small:before,
        blockquote.pull-right small:before,
        .blockquote-reverse .small:before,
        blockquote.pull-right .small:before {
            content: '';
        }

        .blockquote-reverse footer:after,
        blockquote.pull-right footer:after,
        .blockquote-reverse small:after,
        blockquote.pull-right small:after,
        .blockquote-reverse .small:after,
        blockquote.pull-right .small:after {
            content: '\00A0 \2014';
        }

        address {
            margin-bottom: 18px;
            font-style: normal;
            line-height: 1.42857143;
        }

        code,
        kbd,
        pre,
        samp {
            font-family: monospace;
        }

        code {
            padding: 2px 4px;
            font-size: 90%;
            color: #c7254e;
            background-color: #f9f2f4;
            border-radius: 2px;
        }

        kbd {
            padding: 2px 4px;
            font-size: 90%;
            color: #888;
            background-color: transparent;
            border-radius: 1px;
            box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
        }

        kbd kbd {
            padding: 0;
            font-size: 100%;
            font-weight: bold;
            box-shadow: none;
        }

        pre {
            display: block;
            padding: 8.5px;
            margin: 0 0 9px;
            font-size: 12px;
            line-height: 1.42857143;
            word-break: break-all;
            word-wrap: break-word;
            color: #333333;
            background-color: #f5f5f5;
            border: 1px solid #ccc;
            border-radius: 2px;
        }

        pre code {
            padding: 0;
            font-size: inherit;
            color: inherit;
            white-space: pre-wrap;
            background-color: transparent;
            border-radius: 0;
        }

        .pre-scrollable {
            max-height: 340px;
            overflow-y: scroll;
        }

        .container {
            margin-right: auto;
            margin-left: auto;
            padding-left: 0px;
            padding-right: 0px;
        }

        @media (min-width: 768px) {
            .container {
                width: 768px;
            }
        }

        @media (min-width: 992px) {
            .container {
                width: 940px;
            }
        }

        @media (min-width: 1200px) {
            .container {
                width: 1140px;
            }
        }

        .container-fluid {
            margin-right: auto;
            margin-left: auto;
            padding-left: 0px;
            padding-right: 0px;
        }

        .row {
            margin-left: 0px;
            margin-right: 0px;
        }

        .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
            position: relative;
            min-height: 1px;
            padding-left: 0px;
            padding-right: 0px;
        }

        .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
            float: left;
        }

        .col-xs-12 {
            width: 100%;
        }

        .col-xs-11 {
            width: 91.66666667%;
        }

        .col-xs-10 {
            width: 83.33333333%;
        }

        .col-xs-9 {
            width: 75%;
        }

        .col-xs-8 {
            width: 66.66666667%;
        }

        .col-xs-7 {
            width: 58.33333333%;
        }

        .col-xs-6 {
            width: 50%;
        }

        .col-xs-5 {
            width: 41.66666667%;
        }

        .col-xs-4 {
            width: 33.33333333%;
        }

        .col-xs-3 {
            width: 25%;
        }

        .col-xs-2 {
            width: 16.66666667%;
        }

        .col-xs-1 {
            width: 8.33333333%;
        }

        .col-xs-pull-12 {
            right: 100%;
        }

        .col-xs-pull-11 {
            right: 91.66666667%;
        }

        .col-xs-pull-10 {
            right: 83.33333333%;
        }

        .col-xs-pull-9 {
            right: 75%;
        }

        .col-xs-pull-8 {
            right: 66.66666667%;
        }

        .col-xs-pull-7 {
            right: 58.33333333%;
        }

        .col-xs-pull-6 {
            right: 50%;
        }

        .col-xs-pull-5 {
            right: 41.66666667%;
        }

        .col-xs-pull-4 {
            right: 33.33333333%;
        }

        .col-xs-pull-3 {
            right: 25%;
        }

        .col-xs-pull-2 {
            right: 16.66666667%;
        }

        .col-xs-pull-1 {
            right: 8.33333333%;
        }

        .col-xs-pull-0 {
            right: auto;
        }

        .col-xs-push-12 {
            left: 100%;
        }

        .col-xs-push-11 {
            left: 91.66666667%;
        }

        .col-xs-push-10 {
            left: 83.33333333%;
        }

        .col-xs-push-9 {
            left: 75%;
        }

        .col-xs-push-8 {
            left: 66.66666667%;
        }

        .col-xs-push-7 {
            left: 58.33333333%;
        }

        .col-xs-push-6 {
            left: 50%;
        }

        .col-xs-push-5 {
            left: 41.66666667%;
        }

        .col-xs-push-4 {
            left: 33.33333333%;
        }

        .col-xs-push-3 {
            left: 25%;
        }

        .col-xs-push-2 {
            left: 16.66666667%;
        }

        .col-xs-push-1 {
            left: 8.33333333%;
        }

        .col-xs-push-0 {
            left: auto;
        }

        .col-xs-offset-12 {
            margin-left: 100%;
        }

        .col-xs-offset-11 {
            margin-left: 91.66666667%;
        }

        .col-xs-offset-10 {
            margin-left: 83.33333333%;
        }

        .col-xs-offset-9 {
            margin-left: 75%;
        }

        .col-xs-offset-8 {
            margin-left: 66.66666667%;
        }

        .col-xs-offset-7 {
            margin-left: 58.33333333%;
        }

        .col-xs-offset-6 {
            margin-left: 50%;
        }

        .col-xs-offset-5 {
            margin-left: 41.66666667%;
        }

        .col-xs-offset-4 {
            margin-left: 33.33333333%;
        }

        .col-xs-offset-3 {
            margin-left: 25%;
        }

        .col-xs-offset-2 {
            margin-left: 16.66666667%;
        }

        .col-xs-offset-1 {
            margin-left: 8.33333333%;
        }

        .col-xs-offset-0 {
            margin-left: 0%;
        }

        @media (min-width: 768px) {
            .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
                float: left;
            }

            .col-sm-12 {
                width: 100%;
            }

            .col-sm-11 {
                width: 91.66666667%;
            }

            .col-sm-10 {
                width: 83.33333333%;
            }

            .col-sm-9 {
                width: 75%;
            }

            .col-sm-8 {
                width: 66.66666667%;
            }

            .col-sm-7 {
                width: 58.33333333%;
            }

            .col-sm-6 {
                width: 50%;
            }

            .col-sm-5 {
                width: 41.66666667%;
            }

            .col-sm-4 {
                width: 33.33333333%;
            }

            .col-sm-3 {
                width: 25%;
            }

            .col-sm-2 {
                width: 16.66666667%;
            }

            .col-sm-1 {
                width: 8.33333333%;
            }

            .col-sm-pull-12 {
                right: 100%;
            }

            .col-sm-pull-11 {
                right: 91.66666667%;
            }

            .col-sm-pull-10 {
                right: 83.33333333%;
            }

            .col-sm-pull-9 {
                right: 75%;
            }

            .col-sm-pull-8 {
                right: 66.66666667%;
            }

            .col-sm-pull-7 {
                right: 58.33333333%;
            }

            .col-sm-pull-6 {
                right: 50%;
            }

            .col-sm-pull-5 {
                right: 41.66666667%;
            }

            .col-sm-pull-4 {
                right: 33.33333333%;
            }

            .col-sm-pull-3 {
                right: 25%;
            }

            .col-sm-pull-2 {
                right: 16.66666667%;
            }

            .col-sm-pull-1 {
                right: 8.33333333%;
            }

            .col-sm-pull-0 {
                right: auto;
            }

            .col-sm-push-12 {
                left: 100%;
            }

            .col-sm-push-11 {
                left: 91.66666667%;
            }

            .col-sm-push-10 {
                left: 83.33333333%;
            }

            .col-sm-push-9 {
                left: 75%;
            }

            .col-sm-push-8 {
                left: 66.66666667%;
            }

            .col-sm-push-7 {
                left: 58.33333333%;
            }

            .col-sm-push-6 {
                left: 50%;
            }

            .col-sm-push-5 {
                left: 41.66666667%;
            }

            .col-sm-push-4 {
                left: 33.33333333%;
            }

            .col-sm-push-3 {
                left: 25%;
            }

            .col-sm-push-2 {
                left: 16.66666667%;
            }

            .col-sm-push-1 {
                left: 8.33333333%;
            }

            .col-sm-push-0 {
                left: auto;
            }

            .col-sm-offset-12 {
                margin-left: 100%;
            }

            .col-sm-offset-11 {
                margin-left: 91.66666667%;
            }

            .col-sm-offset-10 {
                margin-left: 83.33333333%;
            }

            .col-sm-offset-9 {
                margin-left: 75%;
            }

            .col-sm-offset-8 {
                margin-left: 66.66666667%;
            }

            .col-sm-offset-7 {
                margin-left: 58.33333333%;
            }

            .col-sm-offset-6 {
                margin-left: 50%;
            }

            .col-sm-offset-5 {
                margin-left: 41.66666667%;
            }

            .col-sm-offset-4 {
                margin-left: 33.33333333%;
            }

            .col-sm-offset-3 {
                margin-left: 25%;
            }

            .col-sm-offset-2 {
                margin-left: 16.66666667%;
            }

            .col-sm-offset-1 {
                margin-left: 8.33333333%;
            }

            .col-sm-offset-0 {
                margin-left: 0%;
            }
        }

        @media (min-width: 992px) {
            .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
                float: left;
            }

            .col-md-12 {
                width: 100%;
            }

            .col-md-11 {
                width: 91.66666667%;
            }

            .col-md-10 {
                width: 83.33333333%;
            }

            .col-md-9 {
                width: 75%;
            }

            .col-md-8 {
                width: 66.66666667%;
            }

            .col-md-7 {
                width: 58.33333333%;
            }

            .col-md-6 {
                width: 50%;
            }

            .col-md-5 {
                width: 41.66666667%;
            }

            .col-md-4 {
                width: 33.33333333%;
            }

            .col-md-3 {
                width: 25%;
            }

            .col-md-2 {
                width: 16.66666667%;
            }

            .col-md-1 {
                width: 8.33333333%;
            }

            .col-md-pull-12 {
                right: 100%;
            }

            .col-md-pull-11 {
                right: 91.66666667%;
            }

            .col-md-pull-10 {
                right: 83.33333333%;
            }

            .col-md-pull-9 {
                right: 75%;
            }

            .col-md-pull-8 {
                right: 66.66666667%;
            }

            .col-md-pull-7 {
                right: 58.33333333%;
            }

            .col-md-pull-6 {
                right: 50%;
            }

            .col-md-pull-5 {
                right: 41.66666667%;
            }

            .col-md-pull-4 {
                right: 33.33333333%;
            }

            .col-md-pull-3 {
                right: 25%;
            }

            .col-md-pull-2 {
                right: 16.66666667%;
            }

            .col-md-pull-1 {
                right: 8.33333333%;
            }

            .col-md-pull-0 {
                right: auto;
            }

            .col-md-push-12 {
                left: 100%;
            }

            .col-md-push-11 {
                left: 91.66666667%;
            }

            .col-md-push-10 {
                left: 83.33333333%;
            }

            .col-md-push-9 {
                left: 75%;
            }

            .col-md-push-8 {
                left: 66.66666667%;
            }

            .col-md-push-7 {
                left: 58.33333333%;
            }

            .col-md-push-6 {
                left: 50%;
            }

            .col-md-push-5 {
                left: 41.66666667%;
            }

            .col-md-push-4 {
                left: 33.33333333%;
            }

            .col-md-push-3 {
                left: 25%;
            }

            .col-md-push-2 {
                left: 16.66666667%;
            }

            .col-md-push-1 {
                left: 8.33333333%;
            }

            .col-md-push-0 {
                left: auto;
            }

            .col-md-offset-12 {
                margin-left: 100%;
            }

            .col-md-offset-11 {
                margin-left: 91.66666667%;
            }

            .col-md-offset-10 {
                margin-left: 83.33333333%;
            }

            .col-md-offset-9 {
                margin-left: 75%;
            }

            .col-md-offset-8 {
                margin-left: 66.66666667%;
            }

            .col-md-offset-7 {
                margin-left: 58.33333333%;
            }

            .col-md-offset-6 {
                margin-left: 50%;
            }

            .col-md-offset-5 {
                margin-left: 41.66666667%;
            }

            .col-md-offset-4 {
                margin-left: 33.33333333%;
            }

            .col-md-offset-3 {
                margin-left: 25%;
            }

            .col-md-offset-2 {
                margin-left: 16.66666667%;
            }

            .col-md-offset-1 {
                margin-left: 8.33333333%;
            }

            .col-md-offset-0 {
                margin-left: 0%;
            }
        }

        @media (min-width: 1200px) {
            .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
                float: left;
            }

            .col-lg-12 {
                width: 100%;
            }

            .col-lg-11 {
                width: 91.66666667%;
            }

            .col-lg-10 {
                width: 83.33333333%;
            }

            .col-lg-9 {
                width: 75%;
            }

            .col-lg-8 {
                width: 66.66666667%;
            }

            .col-lg-7 {
                width: 58.33333333%;
            }

            .col-lg-6 {
                width: 50%;
            }

            .col-lg-5 {
                width: 41.66666667%;
            }

            .col-lg-4 {
                width: 33.33333333%;
            }

            .col-lg-3 {
                width: 25%;
            }

            .col-lg-2 {
                width: 16.66666667%;
            }

            .col-lg-1 {
                width: 8.33333333%;
            }

            .col-lg-pull-12 {
                right: 100%;
            }

            .col-lg-pull-11 {
                right: 91.66666667%;
            }

            .col-lg-pull-10 {
                right: 83.33333333%;
            }

            .col-lg-pull-9 {
                right: 75%;
            }

            .col-lg-pull-8 {
                right: 66.66666667%;
            }

            .col-lg-pull-7 {
                right: 58.33333333%;
            }

            .col-lg-pull-6 {
                right: 50%;
            }

            .col-lg-pull-5 {
                right: 41.66666667%;
            }

            .col-lg-pull-4 {
                right: 33.33333333%;
            }

            .col-lg-pull-3 {
                right: 25%;
            }

            .col-lg-pull-2 {
                right: 16.66666667%;
            }

            .col-lg-pull-1 {
                right: 8.33333333%;
            }

            .col-lg-pull-0 {
                right: auto;
            }

            .col-lg-push-12 {
                left: 100%;
            }

            .col-lg-push-11 {
                left: 91.66666667%;
            }

            .col-lg-push-10 {
                left: 83.33333333%;
            }

            .col-lg-push-9 {
                left: 75%;
            }

            .col-lg-push-8 {
                left: 66.66666667%;
            }

            .col-lg-push-7 {
                left: 58.33333333%;
            }

            .col-lg-push-6 {
                left: 50%;
            }

            .col-lg-push-5 {
                left: 41.66666667%;
            }

            .col-lg-push-4 {
                left: 33.33333333%;
            }

            .col-lg-push-3 {
                left: 25%;
            }

            .col-lg-push-2 {
                left: 16.66666667%;
            }

            .col-lg-push-1 {
                left: 8.33333333%;
            }

            .col-lg-push-0 {
                left: auto;
            }

            .col-lg-offset-12 {
                margin-left: 100%;
            }

            .col-lg-offset-11 {
                margin-left: 91.66666667%;
            }

            .col-lg-offset-10 {
                margin-left: 83.33333333%;
            }

            .col-lg-offset-9 {
                margin-left: 75%;
            }

            .col-lg-offset-8 {
                margin-left: 66.66666667%;
            }

            .col-lg-offset-7 {
                margin-left: 58.33333333%;
            }

            .col-lg-offset-6 {
                margin-left: 50%;
            }

            .col-lg-offset-5 {
                margin-left: 41.66666667%;
            }

            .col-lg-offset-4 {
                margin-left: 33.33333333%;
            }

            .col-lg-offset-3 {
                margin-left: 25%;
            }

            .col-lg-offset-2 {
                margin-left: 16.66666667%;
            }

            .col-lg-offset-1 {
                margin-left: 8.33333333%;
            }

            .col-lg-offset-0 {
                margin-left: 0%;
            }
        }

        table {
            background-color: transparent;
        }

        caption {
            padding-top: 8px;
            padding-bottom: 8px;
            color: #777777;
            text-align: left;
        }

        th {
            text-align: left;
        }

        .table {
            width: 100%;
            max-width: 100%;
            margin-bottom: 18px;
        }

        .table > thead > tr > th,
        .table > tbody > tr > th,
        .table > tfoot > tr > th,
        .table > thead > tr > td,
        .table > tbody > tr > td,
        .table > tfoot > tr > td {
            padding: 8px;
            line-height: 1.42857143;
            vertical-align: top;
            border-top: 1px solid #ddd;
        }

        .table > thead > tr > th {
            vertical-align: bottom;
            border-bottom: 2px solid #ddd;
        }

        .table > caption + thead > tr:first-child > th,
        .table > colgroup + thead > tr:first-child > th,
        .table > thead:first-child > tr:first-child > th,
        .table > caption + thead > tr:first-child > td,
        .table > colgroup + thead > tr:first-child > td,
        .table > thead:first-child > tr:first-child > td {
            border-top: 0;
        }

        .table > tbody + tbody {
            border-top: 2px solid #ddd;
        }

        .table .table {
            background-color: #fff;
        }

        .table-condensed > thead > tr > th,
        .table-condensed > tbody > tr > th,
        .table-condensed > tfoot > tr > th,
        .table-condensed > thead > tr > td,
        .table-condensed > tbody > tr > td,
        .table-condensed > tfoot > tr > td {
            padding: 5px;
        }

        .table-bordered {
            border: 1px solid #ddd;
        }

        .table-bordered > thead > tr > th,
        .table-bordered > tbody > tr > th,
        .table-bordered > tfoot > tr > th,
        .table-bordered > thead > tr > td,
        .table-bordered > tbody > tr > td,
        .table-bordered > tfoot > tr > td {
            border: 1px solid #ddd;
        }

        .table-bordered > thead > tr > th,
        .table-bordered > thead > tr > td {
            border-bottom-width: 2px;
        }

        .table-striped > tbody > tr:nth-of-type(odd) {
            background-color: #f9f9f9;
        }

        .table-hover > tbody > tr:hover {
            background-color: #f5f5f5;
        }

        table col[class*="col-"] {
            position: static;
            float: none;
            display: table-column;
        }

        table td[class*="col-"],
        table th[class*="col-"] {
            position: static;
            float: none;
            display: table-cell;
        }

        .table > thead > tr > td.active,
        .table > tbody > tr > td.active,
        .table > tfoot > tr > td.active,
        .table > thead > tr > th.active,
        .table > tbody > tr > th.active,
        .table > tfoot > tr > th.active,
        .table > thead > tr.active > td,
        .table > tbody > tr.active > td,
        .table > tfoot > tr.active > td,
        .table > thead > tr.active > th,
        .table > tbody > tr.active > th,
        .table > tfoot > tr.active > th {
            background-color: #f5f5f5;
        }

        .table-hover > tbody > tr > td.active:hover,
        .table-hover > tbody > tr > th.active:hover,
        .table-hover > tbody > tr.active:hover > td,
        .table-hover > tbody > tr:hover > .active,
        .table-hover > tbody > tr.active:hover > th {
            background-color: #e8e8e8;
        }

        .table > thead > tr > td.success,
        .table > tbody > tr > td.success,
        .table > tfoot > tr > td.success,
        .table > thead > tr > th.success,
        .table > tbody > tr > th.success,
        .table > tfoot > tr > th.success,
        .table > thead > tr.success > td,
        .table > tbody > tr.success > td,
        .table > tfoot > tr.success > td,
        .table > thead > tr.success > th,
        .table > tbody > tr.success > th,
        .table > tfoot > tr.success > th {
            background-color: #dff0d8;
        }

        .table-hover > tbody > tr > td.success:hover,
        .table-hover > tbody > tr > th.success:hover,
        .table-hover > tbody > tr.success:hover > td,
        .table-hover > tbody > tr:hover > .success,
        .table-hover > tbody > tr.success:hover > th {
            background-color: #d0e9c6;
        }

        .table > thead > tr > td.info,
        .table > tbody > tr > td.info,
        .table > tfoot > tr > td.info,
        .table > thead > tr > th.info,
        .table > tbody > tr > th.info,
        .table > tfoot > tr > th.info,
        .table > thead > tr.info > td,
        .table > tbody > tr.info > td,
        .table > tfoot > tr.info > td,
        .table > thead > tr.info > th,
        .table > tbody > tr.info > th,
        .table > tfoot > tr.info > th {
            background-color: #d9edf7;
        }

        .table-hover > tbody > tr > td.info:hover,
        .table-hover > tbody > tr > th.info:hover,
        .table-hover > tbody > tr.info:hover > td,
        .table-hover > tbody > tr:hover > .info,
        .table-hover > tbody > tr.info:hover > th {
            background-color: #c4e3f3;
        }

        .table > thead > tr > td.warning,
        .table > tbody > tr > td.warning,
        .table > tfoot > tr > td.warning,
        .table > thead > tr > th.warning,
        .table > tbody > tr > th.warning,
        .table > tfoot > tr > th.warning,
        .table > thead > tr.warning > td,
        .table > tbody > tr.warning > td,
        .table > tfoot > tr.warning > td,
        .table > thead > tr.warning > th,
        .table > tbody > tr.warning > th,
        .table > tfoot > tr.warning > th {
            background-color: #fcf8e3;
        }

        .table-hover > tbody > tr > td.warning:hover,
        .table-hover > tbody > tr > th.warning:hover,
        .table-hover > tbody > tr.warning:hover > td,
        .table-hover > tbody > tr:hover > .warning,
        .table-hover > tbody > tr.warning:hover > th {
            background-color: #faf2cc;
        }

        .table > thead > tr > td.danger,
        .table > tbody > tr > td.danger,
        .table > tfoot > tr > td.danger,
        .table > thead > tr > th.danger,
        .table > tbody > tr > th.danger,
        .table > tfoot > tr > th.danger,
        .table > thead > tr.danger > td,
        .table > tbody > tr.danger > td,
        .table > tfoot > tr.danger > td,
        .table > thead > tr.danger > th,
        .table > tbody > tr.danger > th,
        .table > tfoot > tr.danger > th {
            background-color: #f2dede;
        }

        .table-hover > tbody > tr > td.danger:hover,
        .table-hover > tbody > tr > th.danger:hover,
        .table-hover > tbody > tr.danger:hover > td,
        .table-hover > tbody > tr:hover > .danger,
        .table-hover > tbody > tr.danger:hover > th {
            background-color: #ebcccc;
        }

        .table-responsive {
            overflow-x: auto;
            min-height: 0.01%;
        }

        @media screen and (max-width: 767px) {
            .table-responsive {
                width: 100%;
                margin-bottom: 13.5px;
                overflow-y: hidden;
                -ms-overflow-style: -ms-autohiding-scrollbar;
                border: 1px solid #ddd;
            }

            .table-responsive > .table {
                margin-bottom: 0;
            }

            .table-responsive > .table > thead > tr > th,
            .table-responsive > .table > tbody > tr > th,
            .table-responsive > .table > tfoot > tr > th,
            .table-responsive > .table > thead > tr > td,
            .table-responsive > .table > tbody > tr > td,
            .table-responsive > .table > tfoot > tr > td {
                white-space: nowrap;
            }

            .table-responsive > .table-bordered {
                border: 0;
            }

            .table-responsive > .table-bordered > thead > tr > th:first-child,
            .table-responsive > .table-bordered > tbody > tr > th:first-child,
            .table-responsive > .table-bordered > tfoot > tr > th:first-child,
            .table-responsive > .table-bordered > thead > tr > td:first-child,
            .table-responsive > .table-bordered > tbody > tr > td:first-child,
            .table-responsive > .table-bordered > tfoot > tr > td:first-child {
                border-left: 0;
            }

            .table-responsive > .table-bordered > thead > tr > th:last-child,
            .table-responsive > .table-bordered > tbody > tr > th:last-child,
            .table-responsive > .table-bordered > tfoot > tr > th:last-child,
            .table-responsive > .table-bordered > thead > tr > td:last-child,
            .table-responsive > .table-bordered > tbody > tr > td:last-child,
            .table-responsive > .table-bordered > tfoot > tr > td:last-child {
                border-right: 0;
            }

            .table-responsive > .table-bordered > tbody > tr:last-child > th,
            .table-responsive > .table-bordered > tfoot > tr:last-child > th,
            .table-responsive > .table-bordered > tbody > tr:last-child > td,
            .table-responsive > .table-bordered > tfoot > tr:last-child > td {
                border-bottom: 0;
            }
        }

        fieldset {
            padding: 0;
            margin: 0;
            border: 0;
            min-width: 0;
        }

        legend {
            display: block;
            width: 100%;
            padding: 0;
            margin-bottom: 18px;
            font-size: 19.5px;
            line-height: inherit;
            color: #333333;
            border: 0;
            border-bottom: 1px solid #e5e5e5;
        }

        label {
            display: inline-block;
            max-width: 100%;
            margin-bottom: 5px;
            font-weight: bold;
        }

        input[type="search"] {
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
        }

        input[type="radio"],
        input[type="checkbox"] {
            margin: 4px 0 0;
            margin-top: 1px \9;
            line-height: normal;
        }

        input[type="file"] {
            display: block;
        }

        input[type="range"] {
            display: block;
            width: 100%;
        }

        select[multiple],
        select[size] {
            height: auto;
        }

        input[type="file"]:focus,
        input[type="radio"]:focus,
        input[type="checkbox"]:focus {
            outline: thin dotted;
            outline: 5px auto -webkit-focus-ring-color;
            outline-offset: -2px;
        }

        output {
            display: block;
            padding-top: 7px;
            font-size: 13px;
            line-height: 1.42857143;
            color: #555555;
        }

        .form-control {
            display: block;
            width: 100%;
            height: 32px;
            padding: 6px 12px;
            font-size: 13px;
            line-height: 1.42857143;
            color: #555555;
            background-color: #fff;
            background-image: none;
            border: 1px solid #ccc;
            border-radius: 2px;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
            -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
            transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
        }

        .form-control:focus {
            border-color: #66afe9;
            outline: 0;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
        }

        .form-control::-moz-placeholder {
            color: #999;
            opacity: 1;
        }

        .form-control:-ms-input-placeholder {
            color: #999;
        }

        .form-control::-webkit-input-placeholder {
            color: #999;
        }

        .form-control::-ms-expand {
            border: 0;
            background-color: transparent;
        }

        .form-control[disabled],
        .form-control[readonly],
        fieldset[disabled] .form-control {
            background-color: #eeeeee;
            opacity: 1;
        }

        .form-control[disabled],
        fieldset[disabled] .form-control {
            cursor: not-allowed;
        }

        textarea.form-control {
            height: auto;
        }

        input[type="search"] {
            -webkit-appearance: none;
        }

        @media screen and (-webkit-min-device-pixel-ratio: 0) {
            input[type="date"].form-control,
            input[type="time"].form-control,
            input[type="datetime-local"].form-control,
            input[type="month"].form-control {
                line-height: 32px;
            }

            input[type="date"].input-sm,
            input[type="time"].input-sm,
            input[type="datetime-local"].input-sm,
            input[type="month"].input-sm,
            .input-group-sm input[type="date"],
            .input-group-sm input[type="time"],
            .input-group-sm input[type="datetime-local"],
            .input-group-sm input[type="month"] {
                line-height: 30px;
            }

            input[type="date"].input-lg,
            input[type="time"].input-lg,
            input[type="datetime-local"].input-lg,
            input[type="month"].input-lg,
            .input-group-lg input[type="date"],
            .input-group-lg input[type="time"],
            .input-group-lg input[type="datetime-local"],
            .input-group-lg input[type="month"] {
                line-height: 45px;
            }
        }

        .form-group {
            margin-bottom: 15px;
        }

        .radio,
        .checkbox {
            position: relative;
            display: block;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .radio label,
        .checkbox label {
            min-height: 18px;
            padding-left: 20px;
            margin-bottom: 0;
            font-weight: normal;
            cursor: pointer;
        }

        .radio input[type="radio"],
        .radio-inline input[type="radio"],
        .checkbox input[type="checkbox"],
        .checkbox-inline input[type="checkbox"] {
            position: absolute;
            margin-left: -20px;
            margin-top: 4px \9;
        }

        .radio + .radio,
        .checkbox + .checkbox {
            margin-top: -5px;
        }

        .radio-inline,
        .checkbox-inline {
            position: relative;
            display: inline-block;
            padding-left: 20px;
            margin-bottom: 0;
            vertical-align: middle;
            font-weight: normal;
            cursor: pointer;
        }

        .radio-inline + .radio-inline,
        .checkbox-inline + .checkbox-inline {
            margin-top: 0;
            margin-left: 10px;
        }

        input[type="radio"][disabled],
        input[type="checkbox"][disabled],
        input[type="radio"].disabled,
        input[type="checkbox"].disabled,
        fieldset[disabled] input[type="radio"],
        fieldset[disabled] input[type="checkbox"] {
            cursor: not-allowed;
        }

        .radio-inline.disabled,
        .checkbox-inline.disabled,
        fieldset[disabled] .radio-inline,
        fieldset[disabled] .checkbox-inline {
            cursor: not-allowed;
        }

        .radio.disabled label,
        .checkbox.disabled label,
        fieldset[disabled] .radio label,
        fieldset[disabled] .checkbox label {
            cursor: not-allowed;
        }

        .form-control-static {
            padding-top: 7px;
            padding-bottom: 7px;
            margin-bottom: 0;
            min-height: 31px;
        }

        .form-control-static.input-lg,
        .form-control-static.input-sm {
            padding-left: 0;
            padding-right: 0;
        }

        .input-sm {
            height: 30px;
            padding: 5px 10px;
            font-size: 12px;
            line-height: 1.5;
            border-radius: 1px;
        }

        select.input-sm {
            height: 30px;
            line-height: 30px;
        }

        textarea.input-sm,
        select[multiple].input-sm {
            height: auto;
        }

        .form-group-sm .form-control {
            height: 30px;
            padding: 5px 10px;
            font-size: 12px;
            line-height: 1.5;
            border-radius: 1px;
        }

        .form-group-sm select.form-control {
            height: 30px;
            line-height: 30px;
        }

        .form-group-sm textarea.form-control,
        .form-group-sm select[multiple].form-control {
            height: auto;
        }

        .form-group-sm .form-control-static {
            height: 30px;
            min-height: 30px;
            padding: 6px 10px;
            font-size: 12px;
            line-height: 1.5;
        }

        .input-lg {
            height: 45px;
            padding: 10px 16px;
            font-size: 17px;
            line-height: 1.3333333;
            border-radius: 3px;
        }

        select.input-lg {
            height: 45px;
            line-height: 45px;
        }

        textarea.input-lg,
        select[multiple].input-lg {
            height: auto;
        }

        .form-group-lg .form-control {
            height: 45px;
            padding: 10px 16px;
            font-size: 17px;
            line-height: 1.3333333;
            border-radius: 3px;
        }

        .form-group-lg select.form-control {
            height: 45px;
            line-height: 45px;
        }

        .form-group-lg textarea.form-control,
        .form-group-lg select[multiple].form-control {
            height: auto;
        }

        .form-group-lg .form-control-static {
            height: 45px;
            min-height: 35px;
            padding: 11px 16px;
            font-size: 17px;
            line-height: 1.3333333;
        }

        .has-feedback {
            position: relative;
        }

        .has-feedback .form-control {
            padding-right: 40px;
        }

        .form-control-feedback {
            position: absolute;
            top: 0;
            right: 0;
            z-index: 2;
            display: block;
            width: 32px;
            height: 32px;
            line-height: 32px;
            text-align: center;
            pointer-events: none;
        }

        .input-lg + .form-control-feedback,
        .input-group-lg + .form-control-feedback,
        .form-group-lg .form-control + .form-control-feedback {
            width: 45px;
            height: 45px;
            line-height: 45px;
        }

        .input-sm + .form-control-feedback,
        .input-group-sm + .form-control-feedback,
        .form-group-sm .form-control + .form-control-feedback {
            width: 30px;
            height: 30px;
            line-height: 30px;
        }

        .has-success .help-block,
        .has-success .control-label,
        .has-success .radio,
        .has-success .checkbox,
        .has-success .radio-inline,
        .has-success .checkbox-inline,
        .has-success.radio label,
        .has-success.checkbox label,
        .has-success.radio-inline label,
        .has-success.checkbox-inline label {
            color: #3c763d;
        }

        .has-success .form-control {
            border-color: #3c763d;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
        }

        .has-success .form-control:focus {
            border-color: #2b542c;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
        }

        .has-success .input-group-addon {
            color: #3c763d;
            border-color: #3c763d;
            background-color: #dff0d8;
        }

        .has-success .form-control-feedback {
            color: #3c763d;
        }

        .has-warning .help-block,
        .has-warning .control-label,
        .has-warning .radio,
        .has-warning .checkbox,
        .has-warning .radio-inline,
        .has-warning .checkbox-inline,
        .has-warning.radio label,
        .has-warning.checkbox label,
        .has-warning.radio-inline label,
        .has-warning.checkbox-inline label {
            color: #8a6d3b;
        }

        .has-warning .form-control {
            border-color: #8a6d3b;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
        }

        .has-warning .form-control:focus {
            border-color: #66512c;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
        }

        .has-warning .input-group-addon {
            color: #8a6d3b;
            border-color: #8a6d3b;
            background-color: #fcf8e3;
        }

        .has-warning .form-control-feedback {
            color: #8a6d3b;
        }

        .has-error .help-block,
        .has-error .control-label,
        .has-error .radio,
        .has-error .checkbox,
        .has-error .radio-inline,
        .has-error .checkbox-inline,
        .has-error.radio label,
        .has-error.checkbox label,
        .has-error.radio-inline label,
        .has-error.checkbox-inline label {
            color: #a94442;
        }

        .has-error .form-control {
            border-color: #a94442;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
        }

        .has-error .form-control:focus {
            border-color: #843534;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
        }

        .has-error .input-group-addon {
            color: #a94442;
            border-color: #a94442;
            background-color: #f2dede;
        }

        .has-error .form-control-feedback {
            color: #a94442;
        }

        .has-feedback label ~ .form-control-feedback {
            top: 23px;
        }

        .has-feedback label.sr-only ~ .form-control-feedback {
            top: 0;
        }

        .help-block {
            display: block;
            margin-top: 5px;
            margin-bottom: 10px;
            color: #404040;
        }

        @media (min-width: 768px) {
            .form-inline .form-group {
                display: inline-block;
                margin-bottom: 0;
                vertical-align: middle;
            }

            .form-inline .form-control {
                display: inline-block;
                width: auto;
                vertical-align: middle;
            }

            .form-inline .form-control-static {
                display: inline-block;
            }

            .form-inline .input-group {
                display: inline-table;
                vertical-align: middle;
            }

            .form-inline .input-group .input-group-addon,
            .form-inline .input-group .input-group-btn,
            .form-inline .input-group .form-control {
                width: auto;
            }

            .form-inline .input-group > .form-control {
                width: 100%;
            }

            .form-inline .control-label {
                margin-bottom: 0;
                vertical-align: middle;
            }

            .form-inline .radio,
            .form-inline .checkbox {
                display: inline-block;
                margin-top: 0;
                margin-bottom: 0;
                vertical-align: middle;
            }

            .form-inline .radio label,
            .form-inline .checkbox label {
                padding-left: 0;
            }

            .form-inline .radio input[type="radio"],
            .form-inline .checkbox input[type="checkbox"] {
                position: relative;
                margin-left: 0;
            }

            .form-inline .has-feedback .form-control-feedback {
                top: 0;
            }
        }

        .form-horizontal .radio,
        .form-horizontal .checkbox,
        .form-horizontal .radio-inline,
        .form-horizontal .checkbox-inline {
            margin-top: 0;
            margin-bottom: 0;
            padding-top: 7px;
        }

        .form-horizontal .radio,
        .form-horizontal .checkbox {
            min-height: 25px;
        }

        .form-horizontal .form-group {
            margin-left: 0px;
            margin-right: 0px;
        }

        @media (min-width: 768px) {
            .form-horizontal .control-label {
                text-align: right;
                margin-bottom: 0;
                padding-top: 7px;
            }
        }

        .form-horizontal .has-feedback .form-control-feedback {
            right: 0px;
        }

        @media (min-width: 768px) {
            .form-horizontal .form-group-lg .control-label {
                padding-top: 11px;
                font-size: 17px;
            }
        }

        @media (min-width: 768px) {
            .form-horizontal .form-group-sm .control-label {
                padding-top: 6px;
                font-size: 12px;
            }
        }

        .btn {
            display: inline-block;
            margin-bottom: 0;
            font-weight: normal;
            text-align: center;
            vertical-align: middle;
            touch-action: manipulation;
            cursor: pointer;
            background-image: none;
            border: 1px solid transparent;
            white-space: nowrap;
            padding: 6px 12px;
            font-size: 13px;
            line-height: 1.42857143;
            border-radius: 2px;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

        .btn:focus,
        .btn:active:focus,
        .btn.active:focus,
        .btn.focus,
        .btn:active.focus,
        .btn.active.focus {
            outline: thin dotted;
            outline: 5px auto -webkit-focus-ring-color;
            outline-offset: -2px;
        }

        .btn:hover,
        .btn:focus,
        .btn.focus {
            color: #333;
            text-decoration: none;
        }

        .btn:active,
        .btn.active {
            outline: 0;
            background-image: none;
            -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
            box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        }

        .btn.disabled,
        .btn[disabled],
        fieldset[disabled] .btn {
            cursor: not-allowed;
            opacity: 0.65;
            filter: alpha(opacity=65);
            -webkit-box-shadow: none;
            box-shadow: none;
        }

        a.btn.disabled,
        fieldset[disabled] a.btn {
            pointer-events: none;
        }

        .btn-default {
            color: #333;
            background-color: #fff;
            border-color: #ccc;
        }

        .btn-default:focus,
        .btn-default.focus {
            color: #333;
            background-color: #e6e6e6;
            border-color: #8c8c8c;
        }

        .btn-default:hover {
            color: #333;
            background-color: #e6e6e6;
            border-color: #adadad;
        }

        .btn-default:active,
        .btn-default.active,
        .open > .dropdown-toggle.btn-default {
            color: #333;
            background-color: #e6e6e6;
            border-color: #adadad;
        }

        .btn-default:active:hover,
        .btn-default.active:hover,
        .open > .dropdown-toggle.btn-default:hover,
        .btn-default:active:focus,
        .btn-default.active:focus,
        .open > .dropdown-toggle.btn-default:focus,
        .btn-default:active.focus,
        .btn-default.active.focus,
        .open > .dropdown-toggle.btn-default.focus {
            color: #333;
            background-color: #d4d4d4;
            border-color: #8c8c8c;
        }

        .btn-default:active,
        .btn-default.active,
        .open > .dropdown-toggle.btn-default {
            background-image: none;
        }

        .btn-default.disabled:hover,
        .btn-default[disabled]:hover,
        fieldset[disabled] .btn-default:hover,
        .btn-default.disabled:focus,
        .btn-default[disabled]:focus,
        fieldset[disabled] .btn-default:focus,
        .btn-default.disabled.focus,
        .btn-default[disabled].focus,
        fieldset[disabled] .btn-default.focus {
            background-color: #fff;
            border-color: #ccc;
        }

        .btn-default .badge {
            color: #fff;
            background-color: #333;
        }

        .btn-primary {
            color: #fff;
            background-color: #337ab7;
            border-color: #2e6da4;
        }

        .btn-primary:focus,
        .btn-primary.focus {
            color: #fff;
            background-color: #286090;
            border-color: #122b40;
        }

        .btn-primary:hover {
            color: #fff;
            background-color: #286090;
            border-color: #204d74;
        }

        .btn-primary:active,
        .btn-primary.active,
        .open > .dropdown-toggle.btn-primary {
            color: #fff;
            background-color: #286090;
            border-color: #204d74;
        }

        .btn-primary:active:hover,
        .btn-primary.active:hover,
        .open > .dropdown-toggle.btn-primary:hover,
        .btn-primary:active:focus,
        .btn-primary.active:focus,
        .open > .dropdown-toggle.btn-primary:focus,
        .btn-primary:active.focus,
        .btn-primary.active.focus,
        .open > .dropdown-toggle.btn-primary.focus {
            color: #fff;
            background-color: #204d74;
            border-color: #122b40;
        }

        .btn-primary:active,
        .btn-primary.active,
        .open > .dropdown-toggle.btn-primary {
            background-image: none;
        }

        .btn-primary.disabled:hover,
        .btn-primary[disabled]:hover,
        fieldset[disabled] .btn-primary:hover,
        .btn-primary.disabled:focus,
        .btn-primary[disabled]:focus,
        fieldset[disabled] .btn-primary:focus,
        .btn-primary.disabled.focus,
        .btn-primary[disabled].focus,
        fieldset[disabled] .btn-primary.focus {
            background-color: #337ab7;
            border-color: #2e6da4;
        }

        .btn-primary .badge {
            color: #337ab7;
            background-color: #fff;
        }

        .btn-success {
            color: #fff;
            background-color: #5cb85c;
            border-color: #4cae4c;
        }

        .btn-success:focus,
        .btn-success.focus {
            color: #fff;
            background-color: #449d44;
            border-color: #255625;
        }

        .btn-success:hover {
            color: #fff;
            background-color: #449d44;
            border-color: #398439;
        }

        .btn-success:active,
        .btn-success.active,
        .open > .dropdown-toggle.btn-success {
            color: #fff;
            background-color: #449d44;
            border-color: #398439;
        }

        .btn-success:active:hover,
        .btn-success.active:hover,
        .open > .dropdown-toggle.btn-success:hover,
        .btn-success:active:focus,
        .btn-success.active:focus,
        .open > .dropdown-toggle.btn-success:focus,
        .btn-success:active.focus,
        .btn-success.active.focus,
        .open > .dropdown-toggle.btn-success.focus {
            color: #fff;
            background-color: #398439;
            border-color: #255625;
        }

        .btn-success:active,
        .btn-success.active,
        .open > .dropdown-toggle.btn-success {
            background-image: none;
        }

        .btn-success.disabled:hover,
        .btn-success[disabled]:hover,
        fieldset[disabled] .btn-success:hover,
        .btn-success.disabled:focus,
        .btn-success[disabled]:focus,
        fieldset[disabled] .btn-success:focus,
        .btn-success.disabled.focus,
        .btn-success[disabled].focus,
        fieldset[disabled] .btn-success.focus {
            background-color: #5cb85c;
            border-color: #4cae4c;
        }

        .btn-success .badge {
            color: #5cb85c;
            background-color: #fff;
        }

        .btn-info {
            color: #fff;
            background-color: #5bc0de;
            border-color: #46b8da;
        }

        .btn-info:focus,
        .btn-info.focus {
            color: #fff;
            background-color: #31b0d5;
            border-color: #1b6d85;
        }

        .btn-info:hover {
            color: #fff;
            background-color: #31b0d5;
            border-color: #269abc;
        }

        .btn-info:active,
        .btn-info.active,
        .open > .dropdown-toggle.btn-info {
            color: #fff;
            background-color: #31b0d5;
            border-color: #269abc;
        }

        .btn-info:active:hover,
        .btn-info.active:hover,
        .open > .dropdown-toggle.btn-info:hover,
        .btn-info:active:focus,
        .btn-info.active:focus,
        .open > .dropdown-toggle.btn-info:focus,
        .btn-info:active.focus,
        .btn-info.active.focus,
        .open > .dropdown-toggle.btn-info.focus {
            color: #fff;
            background-color: #269abc;
            border-color: #1b6d85;
        }

        .btn-info:active,
        .btn-info.active,
        .open > .dropdown-toggle.btn-info {
            background-image: none;
        }

        .btn-info.disabled:hover,
        .btn-info[disabled]:hover,
        fieldset[disabled] .btn-info:hover,
        .btn-info.disabled:focus,
        .btn-info[disabled]:focus,
        fieldset[disabled] .btn-info:focus,
        .btn-info.disabled.focus,
        .btn-info[disabled].focus,
        fieldset[disabled] .btn-info.focus {
            background-color: #5bc0de;
            border-color: #46b8da;
        }

        .btn-info .badge {
            color: #5bc0de;
            background-color: #fff;
        }

        .btn-warning {
            color: #fff;
            background-color: #f0ad4e;
            border-color: #eea236;
        }

        .btn-warning:focus,
        .btn-warning.focus {
            color: #fff;
            background-color: #ec971f;
            border-color: #985f0d;
        }

        .btn-warning:hover {
            color: #fff;
            background-color: #ec971f;
            border-color: #d58512;
        }

        .btn-warning:active,
        .btn-warning.active,
        .open > .dropdown-toggle.btn-warning {
            color: #fff;
            background-color: #ec971f;
            border-color: #d58512;
        }

        .btn-warning:active:hover,
        .btn-warning.active:hover,
        .open > .dropdown-toggle.btn-warning:hover,
        .btn-warning:active:focus,
        .btn-warning.active:focus,
        .open > .dropdown-toggle.btn-warning:focus,
        .btn-warning:active.focus,
        .btn-warning.active.focus,
        .open > .dropdown-toggle.btn-warning.focus {
            color: #fff;
            background-color: #d58512;
            border-color: #985f0d;
        }

        .btn-warning:active,
        .btn-warning.active,
        .open > .dropdown-toggle.btn-warning {
            background-image: none;
        }

        .btn-warning.disabled:hover,
        .btn-warning[disabled]:hover,
        fieldset[disabled] .btn-warning:hover,
        .btn-warning.disabled:focus,
        .btn-warning[disabled]:focus,
        fieldset[disabled] .btn-warning:focus,
        .btn-warning.disabled.focus,
        .btn-warning[disabled].focus,
        fieldset[disabled] .btn-warning.focus {
            background-color: #f0ad4e;
            border-color: #eea236;
        }

        .btn-warning .badge {
            color: #f0ad4e;
            background-color: #fff;
        }

        .btn-danger {
            color: #fff;
            background-color: #d9534f;
            border-color: #d43f3a;
        }

        .btn-danger:focus,
        .btn-danger.focus {
            color: #fff;
            background-color: #c9302c;
            border-color: #761c19;
        }

        .btn-danger:hover {
            color: #fff;
            background-color: #c9302c;
            border-color: #ac2925;
        }

        .btn-danger:active,
        .btn-danger.active,
        .open > .dropdown-toggle.btn-danger {
            color: #fff;
            background-color: #c9302c;
            border-color: #ac2925;
        }

        .btn-danger:active:hover,
        .btn-danger.active:hover,
        .open > .dropdown-toggle.btn-danger:hover,
        .btn-danger:active:focus,
        .btn-danger.active:focus,
        .open > .dropdown-toggle.btn-danger:focus,
        .btn-danger:active.focus,
        .btn-danger.active.focus,
        .open > .dropdown-toggle.btn-danger.focus {
            color: #fff;
            background-color: #ac2925;
            border-color: #761c19;
        }

        .btn-danger:active,
        .btn-danger.active,
        .open > .dropdown-toggle.btn-danger {
            background-image: none;
        }

        .btn-danger.disabled:hover,
        .btn-danger[disabled]:hover,
        fieldset[disabled] .btn-danger:hover,
        .btn-danger.disabled:focus,
        .btn-danger[disabled]:focus,
        fieldset[disabled] .btn-danger:focus,
        .btn-danger.disabled.focus,
        .btn-danger[disabled].focus,
        fieldset[disabled] .btn-danger.focus {
            background-color: #d9534f;
            border-color: #d43f3a;
        }

        .btn-danger .badge {
            color: #d9534f;
            background-color: #fff;
        }

        .btn-link {
            color: #337ab7;
            font-weight: normal;
            border-radius: 0;
        }

        .btn-link,
        .btn-link:active,
        .btn-link.active,
        .btn-link[disabled],
        fieldset[disabled] .btn-link {
            background-color: transparent;
            -webkit-box-shadow: none;
            box-shadow: none;
        }

        .btn-link,
        .btn-link:hover,
        .btn-link:focus,
        .btn-link:active {
            border-color: transparent;
        }

        .btn-link:hover,
        .btn-link:focus {
            color: #23527c;
            text-decoration: underline;
            background-color: transparent;
        }

        .btn-link[disabled]:hover,
        fieldset[disabled] .btn-link:hover,
        .btn-link[disabled]:focus,
        fieldset[disabled] .btn-link:focus {
            color: #777777;
            text-decoration: none;
        }

        .btn-lg,
        .btn-group-lg > .btn {
            padding: 10px 16px;
            font-size: 17px;
            line-height: 1.3333333;
            border-radius: 3px;
        }

        .btn-sm,
        .btn-group-sm > .btn {
            padding: 5px 10px;
            font-size: 12px;
            line-height: 1.5;
            border-radius: 1px;
        }

        .btn-xs,
        .btn-group-xs > .btn {
            padding: 1px 5px;
            font-size: 12px;
            line-height: 1.5;
            border-radius: 1px;
        }

        .btn-block {
            display: block;
            width: 100%;
        }

        .btn-block + .btn-block {
            margin-top: 5px;
        }

        input[type="submit"].btn-block,
        input[type="reset"].btn-block,
        input[type="button"].btn-block {
            width: 100%;
        }

        .fade {
            opacity: 0;
            -webkit-transition: opacity 0.15s linear;
            -o-transition: opacity 0.15s linear;
            transition: opacity 0.15s linear;
        }

        .fade.in {
            opacity: 1;
        }

        .collapse {
            display: none;
        }

        .collapse.in {
            display: block;
        }

        tr.collapse.in {
            display: table-row;
        }

        tbody.collapse.in {
            display: table-row-group;
        }

        .collapsing {
            position: relative;
            height: 0;
            overflow: hidden;
            -webkit-transition-property: height, visibility;
            transition-property: height, visibility;
            -webkit-transition-duration: 0.35s;
            transition-duration: 0.35s;
            -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
        }

        .caret {
            display: inline-block;
            width: 0;
            height: 0;
            margin-left: 2px;
            vertical-align: middle;
            border-top: 4px dashed;
            border-top: 4px solid \9;
            border-right: 4px solid transparent;
            border-left: 4px solid transparent;
        }

        .dropup,
        .dropdown {
            position: relative;
        }

        .dropdown-toggle:focus {
            outline: 0;
        }

        .dropdown-menu {
            position: absolute;
            top: 100%;
            left: 0;
            z-index: 1000;
            display: none;
            float: left;
            min-width: 160px;
            padding: 5px 0;
            margin: 2px 0 0;
            list-style: none;
            font-size: 13px;
            text-align: left;
            background-color: #fff;
            border: 1px solid #ccc;
            border: 1px solid rgba(0, 0, 0, 0.15);
            border-radius: 2px;
            -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
            background-clip: padding-box;
        }

        .dropdown-menu.pull-right {
            right: 0;
            left: auto;
        }

        .dropdown-menu .divider {
            height: 1px;
            margin: 8px 0;
            overflow: hidden;
            background-color: #e5e5e5;
        }

        .dropdown-menu > li > a {
            display: block;
            padding: 3px 20px;
            clear: both;
            font-weight: normal;
            line-height: 1.42857143;
            color: #333333;
            white-space: nowrap;
        }

        .dropdown-menu > li > a:hover,
        .dropdown-menu > li > a:focus {
            text-decoration: none;
            color: #262626;
            background-color: #f5f5f5;
        }

        .dropdown-menu > .active > a,
        .dropdown-menu > .active > a:hover,
        .dropdown-menu > .active > a:focus {
            color: #fff;
            text-decoration: none;
            outline: 0;
            background-color: #337ab7;
        }

        .dropdown-menu > .disabled > a,
        .dropdown-menu > .disabled > a:hover,
        .dropdown-menu > .disabled > a:focus {
            color: #777777;
        }

        .dropdown-menu > .disabled > a:hover,
        .dropdown-menu > .disabled > a:focus {
            text-decoration: none;
            background-color: transparent;
            background-image: none;
            filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
            cursor: not-allowed;
        }

        .open > .dropdown-menu {
            display: block;
        }

        .open > a {
            outline: 0;
        }

        .dropdown-menu-right {
            left: auto;
            right: 0;
        }

        .dropdown-menu-left {
            left: 0;
            right: auto;
        }

        .dropdown-header {
            display: block;
            padding: 3px 20px;
            font-size: 12px;
            line-height: 1.42857143;
            color: #777777;
            white-space: nowrap;
        }

        .dropdown-backdrop {
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            top: 0;
            z-index: 990;
        }

        .pull-right > .dropdown-menu {
            right: 0;
            left: auto;
        }

        .dropup .caret,
        .navbar-fixed-bottom .dropdown .caret {
            border-top: 0;
            border-bottom: 4px dashed;
            border-bottom: 4px solid \9;
            content: "";
        }

        .dropup .dropdown-menu,
        .navbar-fixed-bottom .dropdown .dropdown-menu {
            top: auto;
            bottom: 100%;
            margin-bottom: 2px;
        }

        @media (min-width: 541px) {
            .navbar-right .dropdown-menu {
                left: auto;
                right: 0;
            }

            .navbar-right .dropdown-menu-left {
                left: 0;
                right: auto;
            }
        }

        .btn-group,
        .btn-group-vertical {
            position: relative;
            display: inline-block;
            vertical-align: middle;
        }

        .btn-group > .btn,
        .btn-group-vertical > .btn {
            position: relative;
            float: left;
        }

        .btn-group > .btn:hover,
        .btn-group-vertical > .btn:hover,
        .btn-group > .btn:focus,
        .btn-group-vertical > .btn:focus,
        .btn-group > .btn:active,
        .btn-group-vertical > .btn:active,
        .btn-group > .btn.active,
        .btn-group-vertical > .btn.active {
            z-index: 2;
        }

        .btn-group .btn + .btn,
        .btn-group .btn + .btn-group,
        .btn-group .btn-group + .btn,
        .btn-group .btn-group + .btn-group {
            margin-left: -1px;
        }

        .btn-toolbar {
            margin-left: -5px;
        }

        .btn-toolbar .btn,
        .btn-toolbar .btn-group,
        .btn-toolbar .input-group {
            float: left;
        }

        .btn-toolbar > .btn,
        .btn-toolbar > .btn-group,
        .btn-toolbar > .input-group {
            margin-left: 5px;
        }

        .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
            border-radius: 0;
        }

        .btn-group > .btn:first-child {
            margin-left: 0;
        }

        .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
            border-bottom-right-radius: 0;
            border-top-right-radius: 0;
        }

        .btn-group > .btn:last-child:not(:first-child),
        .btn-group > .dropdown-toggle:not(:first-child) {
            border-bottom-left-radius: 0;
            border-top-left-radius: 0;
        }

        .btn-group > .btn-group {
            float: left;
        }

        .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
            border-radius: 0;
        }

        .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
        .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
            border-bottom-right-radius: 0;
            border-top-right-radius: 0;
        }

        .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
            border-bottom-left-radius: 0;
            border-top-left-radius: 0;
        }

        .btn-group .dropdown-toggle:active,
        .btn-group.open .dropdown-toggle {
            outline: 0;
        }

        .btn-group > .btn + .dropdown-toggle {
            padding-left: 8px;
            padding-right: 8px;
        }

        .btn-group > .btn-lg + .dropdown-toggle {
            padding-left: 12px;
            padding-right: 12px;
        }

        .btn-group.open .dropdown-toggle {
            -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
            box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        }

        .btn-group.open .dropdown-toggle.btn-link {
            -webkit-box-shadow: none;
            box-shadow: none;
        }

        .btn .caret {
            margin-left: 0;
        }

        .btn-lg .caret {
            border-width: 5px 5px 0;
            border-bottom-width: 0;
        }

        .dropup .btn-lg .caret {
            border-width: 0 5px 5px;
        }

        .btn-group-vertical > .btn,
        .btn-group-vertical > .btn-group,
        .btn-group-vertical > .btn-group > .btn {
            display: block;
            float: none;
            width: 100%;
            max-width: 100%;
        }

        .btn-group-vertical > .btn-group > .btn {
            float: none;
        }

        .btn-group-vertical > .btn + .btn,
        .btn-group-vertical > .btn + .btn-group,
        .btn-group-vertical > .btn-group + .btn,
        .btn-group-vertical > .btn-group + .btn-group {
            margin-top: -1px;
            margin-left: 0;
        }

        .btn-group-vertical > .btn:not(:first-child):not(:last-child) {
            border-radius: 0;
        }

        .btn-group-vertical > .btn:first-child:not(:last-child) {
            border-top-right-radius: 2px;
            border-top-left-radius: 2px;
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
        }

        .btn-group-vertical > .btn:last-child:not(:first-child) {
            border-top-right-radius: 0;
            border-top-left-radius: 0;
            border-bottom-right-radius: 2px;
            border-bottom-left-radius: 2px;
        }

        .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
            border-radius: 0;
        }

        .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
        .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
        }

        .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
            border-top-right-radius: 0;
            border-top-left-radius: 0;
        }

        .btn-group-justified {
            display: table;
            width: 100%;
            table-layout: fixed;
            border-collapse: separate;
        }

        .btn-group-justified > .btn,
        .btn-group-justified > .btn-group {
            float: none;
            display: table-cell;
            width: 1%;
        }

        .btn-group-justified > .btn-group .btn {
            width: 100%;
        }

        .btn-group-justified > .btn-group .dropdown-menu {
            left: auto;
        }

        [data-toggle="buttons"] > .btn input[type="radio"],
        [data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
        [data-toggle="buttons"] > .btn input[type="checkbox"],
        [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
            position: absolute;
            clip: rect(0, 0, 0, 0);
            pointer-events: none;
        }

        .input-group {
            position: relative;
            display: table;
            border-collapse: separate;
        }

        .input-group[class*="col-"] {
            float: none;
            padding-left: 0;
            padding-right: 0;
        }

        .input-group .form-control {
            position: relative;
            z-index: 2;
            float: left;
            width: 100%;
            margin-bottom: 0;
        }

        .input-group .form-control:focus {
            z-index: 3;
        }

        .input-group-lg > .form-control,
        .input-group-lg > .input-group-addon,
        .input-group-lg > .input-group-btn > .btn {
            height: 45px;
            padding: 10px 16px;
            font-size: 17px;
            line-height: 1.3333333;
            border-radius: 3px;
        }

        select.input-group-lg > .form-control,
        select.input-group-lg > .input-group-addon,
        select.input-group-lg > .input-group-btn > .btn {
            height: 45px;
            line-height: 45px;
        }

        textarea.input-group-lg > .form-control,
        textarea.input-group-lg > .input-group-addon,
        textarea.input-group-lg > .input-group-btn > .btn,
        select[multiple].input-group-lg > .form-control,
        select[multiple].input-group-lg > .input-group-addon,
        select[multiple].input-group-lg > .input-group-btn > .btn {
            height: auto;
        }

        .input-group-sm > .form-control,
        .input-group-sm > .input-group-addon,
        .input-group-sm > .input-group-btn > .btn {
            height: 30px;
            padding: 5px 10px;
            font-size: 12px;
            line-height: 1.5;
            border-radius: 1px;
        }

        select.input-group-sm > .form-control,
        select.input-group-sm > .input-group-addon,
        select.input-group-sm > .input-group-btn > .btn {
            height: 30px;
            line-height: 30px;
        }

        textarea.input-group-sm > .form-control,
        textarea.input-group-sm > .input-group-addon,
        textarea.input-group-sm > .input-group-btn > .btn,
        select[multiple].input-group-sm > .form-control,
        select[multiple].input-group-sm > .input-group-addon,
        select[multiple].input-group-sm > .input-group-btn > .btn {
            height: auto;
        }

        .input-group-addon,
        .input-group-btn,
        .input-group .form-control {
            display: table-cell;
        }

        .input-group-addon:not(:first-child):not(:last-child),
        .input-group-btn:not(:first-child):not(:last-child),
        .input-group .form-control:not(:first-child):not(:last-child) {
            border-radius: 0;
        }

        .input-group-addon,
        .input-group-btn {
            width: 1%;
            white-space: nowrap;
            vertical-align: middle;
        }

        .input-group-addon {
            padding: 6px 12px;
            font-size: 13px;
            font-weight: normal;
            line-height: 1;
            color: #555555;
            text-align: center;
            background-color: #eeeeee;
            border: 1px solid #ccc;
            border-radius: 2px;
        }

        .input-group-addon.input-sm {
            padding: 5px 10px;
            font-size: 12px;
            border-radius: 1px;
        }

        .input-group-addon.input-lg {
            padding: 10px 16px;
            font-size: 17px;
            border-radius: 3px;
        }

        .input-group-addon input[type="radio"],
        .input-group-addon input[type="checkbox"] {
            margin-top: 0;
        }

        .input-group .form-control:first-child,
        .input-group-addon:first-child,
        .input-group-btn:first-child > .btn,
        .input-group-btn:first-child > .btn-group > .btn,
        .input-group-btn:first-child > .dropdown-toggle,
        .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
        .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
            border-bottom-right-radius: 0;
            border-top-right-radius: 0;
        }

        .input-group-addon:first-child {
            border-right: 0;
        }

        .input-group .form-control:last-child,
        .input-group-addon:last-child,
        .input-group-btn:last-child > .btn,
        .input-group-btn:last-child > .btn-group > .btn,
        .input-group-btn:last-child > .dropdown-toggle,
        .input-group-btn:first-child > .btn:not(:first-child),
        .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
            border-bottom-left-radius: 0;
            border-top-left-radius: 0;
        }

        .input-group-addon:last-child {
            border-left: 0;
        }

        .input-group-btn {
            position: relative;
            font-size: 0;
            white-space: nowrap;
        }

        .input-group-btn > .btn {
            position: relative;
        }

        .input-group-btn > .btn + .btn {
            margin-left: -1px;
        }

        .input-group-btn > .btn:hover,
        .input-group-btn > .btn:focus,
        .input-group-btn > .btn:active {
            z-index: 2;
        }

        .input-group-btn:first-child > .btn,
        .input-group-btn:first-child > .btn-group {
            margin-right: -1px;
        }

        .input-group-btn:last-child > .btn,
        .input-group-btn:last-child > .btn-group {
            z-index: 2;
            margin-left: -1px;
        }

        .nav {
            margin-bottom: 0;
            padding-left: 0;
            list-style: none;
        }

        .nav > li {
            position: relative;
            display: block;
        }

        .nav > li > a {
            position: relative;
            display: block;
            padding: 10px 15px;
        }

        .nav > li > a:hover,
        .nav > li > a:focus {
            text-decoration: none;
            background-color: #eeeeee;
        }

        .nav > li.disabled > a {
            color: #777777;
        }

        .nav > li.disabled > a:hover,
        .nav > li.disabled > a:focus {
            color: #777777;
            text-decoration: none;
            background-color: transparent;
            cursor: not-allowed;
        }

        .nav .open > a,
        .nav .open > a:hover,
        .nav .open > a:focus {
            background-color: #eeeeee;
            border-color: #337ab7;
        }

        .nav .nav-divider {
            height: 1px;
            margin: 8px 0;
            overflow: hidden;
            background-color: #e5e5e5;
        }

        .nav > li > a > img {
            max-width: none;
        }

        .nav-tabs {
            border-bottom: 1px solid #ddd;
        }

        .nav-tabs > li {
            float: left;
            margin-bottom: -1px;
        }

        .nav-tabs > li > a {
            margin-right: 2px;
            line-height: 1.42857143;
            border: 1px solid transparent;
            border-radius: 2px 2px 0 0;
        }

        .nav-tabs > li > a:hover {
            border-color: #eeeeee #eeeeee #ddd;
        }

        .nav-tabs > li.active > a,
        .nav-tabs > li.active > a:hover,
        .nav-tabs > li.active > a:focus {
            color: #555555;
            background-color: #fff;
            border: 1px solid #ddd;
            border-bottom-color: transparent;
            cursor: default;
        }

        .nav-tabs.nav-justified {
            width: 100%;
            border-bottom: 0;
        }

        .nav-tabs.nav-justified > li {
            float: none;
        }

        .nav-tabs.nav-justified > li > a {
            text-align: center;
            margin-bottom: 5px;
        }

        .nav-tabs.nav-justified > .dropdown .dropdown-menu {
            top: auto;
            left: auto;
        }

        @media (min-width: 768px) {
            .nav-tabs.nav-justified > li {
                display: table-cell;
                width: 1%;
            }

            .nav-tabs.nav-justified > li > a {
                margin-bottom: 0;
            }
        }

        .nav-tabs.nav-justified > li > a {
            margin-right: 0;
            border-radius: 2px;
        }

        .nav-tabs.nav-justified > .active > a,
        .nav-tabs.nav-justified > .active > a:hover,
        .nav-tabs.nav-justified > .active > a:focus {
            border: 1px solid #ddd;
        }

        @media (min-width: 768px) {
            .nav-tabs.nav-justified > li > a {
                border-bottom: 1px solid #ddd;
                border-radius: 2px 2px 0 0;
            }

            .nav-tabs.nav-justified > .active > a,
            .nav-tabs.nav-justified > .active > a:hover,
            .nav-tabs.nav-justified > .active > a:focus {
                border-bottom-color: #fff;
            }
        }

        .nav-pills > li {
            float: left;
        }

        .nav-pills > li > a {
            border-radius: 2px;
        }

        .nav-pills > li + li {
            margin-left: 2px;
        }

        .nav-pills > li.active > a,
        .nav-pills > li.active > a:hover,
        .nav-pills > li.active > a:focus {
            color: #fff;
            background-color: #337ab7;
        }

        .nav-stacked > li {
            float: none;
        }

        .nav-stacked > li + li {
            margin-top: 2px;
            margin-left: 0;
        }

        .nav-justified {
            width: 100%;
        }

        .nav-justified > li {
            float: none;
        }

        .nav-justified > li > a {
            text-align: center;
            margin-bottom: 5px;
        }

        .nav-justified > .dropdown .dropdown-menu {
            top: auto;
            left: auto;
        }

        @media (min-width: 768px) {
            .nav-justified > li {
                display: table-cell;
                width: 1%;
            }

            .nav-justified > li > a {
                margin-bottom: 0;
            }
        }

        .nav-tabs-justified {
            border-bottom: 0;
        }

        .nav-tabs-justified > li > a {
            margin-right: 0;
            border-radius: 2px;
        }

        .nav-tabs-justified > .active > a,
        .nav-tabs-justified > .active > a:hover,
        .nav-tabs-justified > .active > a:focus {
            border: 1px solid #ddd;
        }

        @media (min-width: 768px) {
            .nav-tabs-justified > li > a {
                border-bottom: 1px solid #ddd;
                border-radius: 2px 2px 0 0;
            }

            .nav-tabs-justified > .active > a,
            .nav-tabs-justified > .active > a:hover,
            .nav-tabs-justified > .active > a:focus {
                border-bottom-color: #fff;
            }
        }

        .tab-content > .tab-pane {
            display: none;
        }

        .tab-content > .active {
            display: block;
        }

        .nav-tabs .dropdown-menu {
            margin-top: -1px;
            border-top-right-radius: 0;
            border-top-left-radius: 0;
        }

        .navbar {
            position: relative;
            min-height: 30px;
            margin-bottom: 18px;
            border: 1px solid transparent;
        }

        @media (min-width: 541px) {
            .navbar {
                border-radius: 2px;
            }
        }

        @media (min-width: 541px) {
            .navbar-header {
                float: left;
            }
        }

        .navbar-collapse {
            overflow-x: visible;
            padding-right: 0px;
            padding-left: 0px;
            border-top: 1px solid transparent;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
            -webkit-overflow-scrolling: touch;
        }

        .navbar-collapse.in {
            overflow-y: auto;
        }

        @media (min-width: 541px) {
            .navbar-collapse {
                width: auto;
                border-top: 0;
                box-shadow: none;
            }

            .navbar-collapse.collapse {
                display: block !important;
                height: auto !important;
                padding-bottom: 0;
                overflow: visible !important;
            }

            .navbar-collapse.in {
                overflow-y: visible;
            }

            .navbar-fixed-top .navbar-collapse,
            .navbar-static-top .navbar-collapse,
            .navbar-fixed-bottom .navbar-collapse {
                padding-left: 0;
                padding-right: 0;
            }
        }

        .navbar-fixed-top .navbar-collapse,
        .navbar-fixed-bottom .navbar-collapse {
            max-height: 340px;
        }

        @media (max-device-width: 540px) and (orientation: landscape) {
            .navbar-fixed-top .navbar-collapse,
            .navbar-fixed-bottom .navbar-collapse {
                max-height: 200px;
            }
        }

        .container > .navbar-header,
        .container-fluid > .navbar-header,
        .container > .navbar-collapse,
        .container-fluid > .navbar-collapse {
            margin-right: 0px;
            margin-left: 0px;
        }

        @media (min-width: 541px) {
            .container > .navbar-header,
            .container-fluid > .navbar-header,
            .container > .navbar-collapse,
            .container-fluid > .navbar-collapse {
                margin-right: 0;
                margin-left: 0;
            }
        }

        .navbar-static-top {
            z-index: 1000;
            border-width: 0 0 1px;
        }

        @media (min-width: 541px) {
            .navbar-static-top {
                border-radius: 0;
            }
        }

        .navbar-fixed-top,
        .navbar-fixed-bottom {
            position: fixed;
            right: 0;
            left: 0;
            z-index: 1030;
        }

        @media (min-width: 541px) {
            .navbar-fixed-top,
            .navbar-fixed-bottom {
                border-radius: 0;
            }
        }

        .navbar-fixed-top {
            top: 0;
            border-width: 0 0 1px;
        }

        .navbar-fixed-bottom {
            bottom: 0;
            margin-bottom: 0;
            border-width: 1px 0 0;
        }

        .navbar-brand {
            float: left;
            padding: 6px 0px;
            font-size: 17px;
            line-height: 18px;
            height: 30px;
        }

        .navbar-brand:hover,
        .navbar-brand:focus {
            text-decoration: none;
        }

        .navbar-brand > img {
            display: block;
        }

        @media (min-width: 541px) {
            .navbar > .container .navbar-brand,
            .navbar > .container-fluid .navbar-brand {
                margin-left: 0px;
            }
        }

        .navbar-toggle {
            position: relative;
            float: right;
            margin-right: 0px;
            padding: 9px 10px;
            margin-top: -2px;
            margin-bottom: -2px;
            background-color: transparent;
            background-image: none;
            border: 1px solid transparent;
            border-radius: 2px;
        }

        .navbar-toggle:focus {
            outline: 0;
        }

        .navbar-toggle .icon-bar {
            display: block;
            width: 22px;
            height: 2px;
            border-radius: 1px;
        }

        .navbar-toggle .icon-bar + .icon-bar {
            margin-top: 4px;
        }

        @media (min-width: 541px) {
            .navbar-toggle {
                display: none;
            }
        }

        .navbar-nav {
            margin: 3px 0px;
        }

        .navbar-nav > li > a {
            padding-top: 10px;
            padding-bottom: 10px;
            line-height: 18px;
        }

        @media (max-width: 540px) {
            .navbar-nav .open .dropdown-menu {
                position: static;
                float: none;
                width: auto;
                margin-top: 0;
                background-color: transparent;
                border: 0;
                box-shadow: none;
            }

            .navbar-nav .open .dropdown-menu > li > a,
            .navbar-nav .open .dropdown-menu .dropdown-header {
                padding: 5px 15px 5px 25px;
            }

            .navbar-nav .open .dropdown-menu > li > a {
                line-height: 18px;
            }

            .navbar-nav .open .dropdown-menu > li > a:hover,
            .navbar-nav .open .dropdown-menu > li > a:focus {
                background-image: none;
            }
        }

        @media (min-width: 541px) {
            .navbar-nav {
                float: left;
                margin: 0;
            }

            .navbar-nav > li {
                float: left;
            }

            .navbar-nav > li > a {
                padding-top: 6px;
                padding-bottom: 6px;
            }
        }

        .navbar-form {
            margin-left: 0px;
            margin-right: 0px;
            padding: 10px 0px;
            border-top: 1px solid transparent;
            border-bottom: 1px solid transparent;
            -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
            margin-top: -1px;
            margin-bottom: -1px;
        }

        @media (min-width: 768px) {
            .navbar-form .form-group {
                display: inline-block;
                margin-bottom: 0;
                vertical-align: middle;
            }

            .navbar-form .form-control {
                display: inline-block;
                width: auto;
                vertical-align: middle;
            }

            .navbar-form .form-control-static {
                display: inline-block;
            }

            .navbar-form .input-group {
                display: inline-table;
                vertical-align: middle;
            }

            .navbar-form .input-group .input-group-addon,
            .navbar-form .input-group .input-group-btn,
            .navbar-form .input-group .form-control {
                width: auto;
            }

            .navbar-form .input-group > .form-control {
                width: 100%;
            }

            .navbar-form .control-label {
                margin-bottom: 0;
                vertical-align: middle;
            }

            .navbar-form .radio,
            .navbar-form .checkbox {
                display: inline-block;
                margin-top: 0;
                margin-bottom: 0;
                vertical-align: middle;
            }

            .navbar-form .radio label,
            .navbar-form .checkbox label {
                padding-left: 0;
            }

            .navbar-form .radio input[type="radio"],
            .navbar-form .checkbox input[type="checkbox"] {
                position: relative;
                margin-left: 0;
            }

            .navbar-form .has-feedback .form-control-feedback {
                top: 0;
            }
        }

        @media (max-width: 540px) {
            .navbar-form .form-group {
                margin-bottom: 5px;
            }

            .navbar-form .form-group:last-child {
                margin-bottom: 0;
            }
        }

        @media (min-width: 541px) {
            .navbar-form {
                width: auto;
                border: 0;
                margin-left: 0;
                margin-right: 0;
                padding-top: 0;
                padding-bottom: 0;
                -webkit-box-shadow: none;
                box-shadow: none;
            }
        }

        .navbar-nav > li > .dropdown-menu {
            margin-top: 0;
            border-top-right-radius: 0;
            border-top-left-radius: 0;
        }

        .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
            margin-bottom: 0;
            border-top-right-radius: 2px;
            border-top-left-radius: 2px;
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
        }

        .navbar-btn {
            margin-top: -1px;
            margin-bottom: -1px;
        }

        .navbar-btn.btn-sm {
            margin-top: 0px;
            margin-bottom: 0px;
        }

        .navbar-btn.btn-xs {
            margin-top: 4px;
            margin-bottom: 4px;
        }

        .navbar-text {
            margin-top: 6px;
            margin-bottom: 6px;
        }

        @media (min-width: 541px) {
            .navbar-text {
                float: left;
                margin-left: 0px;
                margin-right: 0px;
            }
        }

        @media (min-width: 541px) {
            .navbar-left {
                float: left !important;
                float: left;
            }

            .navbar-right {
                float: right !important;
                float: right;
                margin-right: 0px;
            }

            .navbar-right ~ .navbar-right {
                margin-right: 0;
            }
        }

        .navbar-default {
            background-color: #f8f8f8;
            border-color: #e7e7e7;
        }

        .navbar-default .navbar-brand {
            color: #777;
        }

        .navbar-default .navbar-brand:hover,
        .navbar-default .navbar-brand:focus {
            color: #5e5e5e;
            background-color: transparent;
        }

        .navbar-default .navbar-text {
            color: #777;
        }

        .navbar-default .navbar-nav > li > a {
            color: #777;
        }

        .navbar-default .navbar-nav > li > a:hover,
        .navbar-default .navbar-nav > li > a:focus {
            color: #333;
            background-color: transparent;
        }

        .navbar-default .navbar-nav > .active > a,
        .navbar-default .navbar-nav > .active > a:hover,
        .navbar-default .navbar-nav > .active > a:focus {
            color: #555;
            background-color: #e7e7e7;
        }

        .navbar-default .navbar-nav > .disabled > a,
        .navbar-default .navbar-nav > .disabled > a:hover,
        .navbar-default .navbar-nav > .disabled > a:focus {
            color: #ccc;
            background-color: transparent;
        }

        .navbar-default .navbar-toggle {
            border-color: #ddd;
        }

        .navbar-default .navbar-toggle:hover,
        .navbar-default .navbar-toggle:focus {
            background-color: #ddd;
        }

        .navbar-default .navbar-toggle .icon-bar {
            background-color: #888;
        }

        .navbar-default .navbar-collapse,
        .navbar-default .navbar-form {
            border-color: #e7e7e7;
        }

        .navbar-default .navbar-nav > .open > a,
        .navbar-default .navbar-nav > .open > a:hover,
        .navbar-default .navbar-nav > .open > a:focus {
            background-color: #e7e7e7;
            color: #555;
        }

        @media (max-width: 540px) {
            .navbar-default .navbar-nav .open .dropdown-menu > li > a {
                color: #777;
            }

            .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
            .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
                color: #333;
                background-color: transparent;
            }

            .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
            .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
            .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
                color: #555;
                background-color: #e7e7e7;
            }

            .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
            .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
            .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
                color: #ccc;
                background-color: transparent;
            }
        }

        .navbar-default .navbar-link {
            color: #777;
        }

        .navbar-default .navbar-link:hover {
            color: #333;
        }

        .navbar-default .btn-link {
            color: #777;
        }

        .navbar-default .btn-link:hover,
        .navbar-default .btn-link:focus {
            color: #333;
        }

        .navbar-default .btn-link[disabled]:hover,
        fieldset[disabled] .navbar-default .btn-link:hover,
        .navbar-default .btn-link[disabled]:focus,
        fieldset[disabled] .navbar-default .btn-link:focus {
            color: #ccc;
        }

        .navbar-inverse {
            background-color: #222;
            border-color: #080808;
        }

        .navbar-inverse .navbar-brand {
            color: #9d9d9d;
        }

        .navbar-inverse .navbar-brand:hover,
        .navbar-inverse .navbar-brand:focus {
            color: #fff;
            background-color: transparent;
        }

        .navbar-inverse .navbar-text {
            color: #9d9d9d;
        }

        .navbar-inverse .navbar-nav > li > a {
            color: #9d9d9d;
        }

        .navbar-inverse .navbar-nav > li > a:hover,
        .navbar-inverse .navbar-nav > li > a:focus {
            color: #fff;
            background-color: transparent;
        }

        .navbar-inverse .navbar-nav > .active > a,
        .navbar-inverse .navbar-nav > .active > a:hover,
        .navbar-inverse .navbar-nav > .active > a:focus {
            color: #fff;
            background-color: #080808;
        }

        .navbar-inverse .navbar-nav > .disabled > a,
        .navbar-inverse .navbar-nav > .disabled > a:hover,
        .navbar-inverse .navbar-nav > .disabled > a:focus {
            color: #444;
            background-color: transparent;
        }

        .navbar-inverse .navbar-toggle {
            border-color: #333;
        }

        .navbar-inverse .navbar-toggle:hover,
        .navbar-inverse .navbar-toggle:focus {
            background-color: #333;
        }

        .navbar-inverse .navbar-toggle .icon-bar {
            background-color: #fff;
        }

        .navbar-inverse .navbar-collapse,
        .navbar-inverse .navbar-form {
            border-color: #101010;
        }

        .navbar-inverse .navbar-nav > .open > a,
        .navbar-inverse .navbar-nav > .open > a:hover,
        .navbar-inverse .navbar-nav > .open > a:focus {
            background-color: #080808;
            color: #fff;
        }

        @media (max-width: 540px) {
            .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
                border-color: #080808;
            }

            .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
                background-color: #080808;
            }

            .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
                color: #9d9d9d;
            }

            .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
            .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
                color: #fff;
                background-color: transparent;
            }

            .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
            .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
            .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
                color: #fff;
                background-color: #080808;
            }

            .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
            .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
            .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
                color: #444;
                background-color: transparent;
            }
        }

        .navbar-inverse .navbar-link {
            color: #9d9d9d;
        }

        .navbar-inverse .navbar-link:hover {
            color: #fff;
        }

        .navbar-inverse .btn-link {
            color: #9d9d9d;
        }

        .navbar-inverse .btn-link:hover,
        .navbar-inverse .btn-link:focus {
            color: #fff;
        }

        .navbar-inverse .btn-link[disabled]:hover,
        fieldset[disabled] .navbar-inverse .btn-link:hover,
        .navbar-inverse .btn-link[disabled]:focus,
        fieldset[disabled] .navbar-inverse .btn-link:focus {
            color: #444;
        }

        .breadcrumb {
            padding: 8px 15px;
            margin-bottom: 18px;
            list-style: none;
            background-color: #f5f5f5;
            border-radius: 2px;
        }

        .breadcrumb > li {
            display: inline-block;
        }

        .breadcrumb > li + li:before {
            content: "/\00a0";
            padding: 0 5px;
            color: #5e5e5e;
        }

        .breadcrumb > .active {
            color: #777777;
        }

        .pagination {
            display: inline-block;
            padding-left: 0;
            margin: 18px 0;
            border-radius: 2px;
        }

        .pagination > li {
            display: inline;
        }

        .pagination > li > a,
        .pagination > li > span {
            position: relative;
            float: left;
            padding: 6px 12px;
            line-height: 1.42857143;
            text-decoration: none;
            color: #337ab7;
            background-color: #fff;
            border: 1px solid #ddd;
            margin-left: -1px;
        }

        .pagination > li:first-child > a,
        .pagination > li:first-child > span {
            margin-left: 0;
            border-bottom-left-radius: 2px;
            border-top-left-radius: 2px;
        }

        .pagination > li:last-child > a,
        .pagination > li:last-child > span {
            border-bottom-right-radius: 2px;
            border-top-right-radius: 2px;
        }

        .pagination > li > a:hover,
        .pagination > li > span:hover,
        .pagination > li > a:focus,
        .pagination > li > span:focus {
            z-index: 2;
            color: #23527c;
            background-color: #eeeeee;
            border-color: #ddd;
        }

        .pagination > .active > a,
        .pagination > .active > span,
        .pagination > .active > a:hover,
        .pagination > .active > span:hover,
        .pagination > .active > a:focus,
        .pagination > .active > span:focus {
            z-index: 3;
            color: #fff;
            background-color: #337ab7;
            border-color: #337ab7;
            cursor: default;
        }

        .pagination > .disabled > span,
        .pagination > .disabled > span:hover,
        .pagination > .disabled > span:focus,
        .pagination > .disabled > a,
        .pagination > .disabled > a:hover,
        .pagination > .disabled > a:focus {
            color: #777777;
            background-color: #fff;
            border-color: #ddd;
            cursor: not-allowed;
        }

        .pagination-lg > li > a,
        .pagination-lg > li > span {
            padding: 10px 16px;
            font-size: 17px;
            line-height: 1.3333333;
        }

        .pagination-lg > li:first-child > a,
        .pagination-lg > li:first-child > span {
            border-bottom-left-radius: 3px;
            border-top-left-radius: 3px;
        }

        .pagination-lg > li:last-child > a,
        .pagination-lg > li:last-child > span {
            border-bottom-right-radius: 3px;
            border-top-right-radius: 3px;
        }

        .pagination-sm > li > a,
        .pagination-sm > li > span {
            padding: 5px 10px;
            font-size: 12px;
            line-height: 1.5;
        }

        .pagination-sm > li:first-child > a,
        .pagination-sm > li:first-child > span {
            border-bottom-left-radius: 1px;
            border-top-left-radius: 1px;
        }

        .pagination-sm > li:last-child > a,
        .pagination-sm > li:last-child > span {
            border-bottom-right-radius: 1px;
            border-top-right-radius: 1px;
        }

        .pager {
            padding-left: 0;
            margin: 18px 0;
            list-style: none;
            text-align: center;
        }

        .pager li {
            display: inline;
        }

        .pager li > a,
        .pager li > span {
            display: inline-block;
            padding: 5px 14px;
            background-color: #fff;
            border: 1px solid #ddd;
            border-radius: 15px;
        }

        .pager li > a:hover,
        .pager li > a:focus {
            text-decoration: none;
            background-color: #eeeeee;
        }

        .pager .next > a,
        .pager .next > span {
            float: right;
        }

        .pager .previous > a,
        .pager .previous > span {
            float: left;
        }

        .pager .disabled > a,
        .pager .disabled > a:hover,
        .pager .disabled > a:focus,
        .pager .disabled > span {
            color: #777777;
            background-color: #fff;
            cursor: not-allowed;
        }

        .label {
            display: inline;
            padding: .2em .6em .3em;
            font-size: 75%;
            font-weight: bold;
            line-height: 1;
            color: #fff;
            text-align: center;
            white-space: nowrap;
            vertical-align: baseline;
            border-radius: .25em;
        }

        a.label:hover,
        a.label:focus {
            color: #fff;
            text-decoration: none;
            cursor: pointer;
        }

        .label:empty {
            display: none;
        }

        .btn .label {
            position: relative;
            top: -1px;
        }

        .label-default {
            background-color: #777777;
        }

        .label-default[href]:hover,
        .label-default[href]:focus {
            background-color: #5e5e5e;
        }

        .label-primary {
            background-color: #337ab7;
        }

        .label-primary[href]:hover,
        .label-primary[href]:focus {
            background-color: #286090;
        }

        .label-success {
            background-color: #5cb85c;
        }

        .label-success[href]:hover,
        .label-success[href]:focus {
            background-color: #449d44;
        }

        .label-info {
            background-color: #5bc0de;
        }

        .label-info[href]:hover,
        .label-info[href]:focus {
            background-color: #31b0d5;
        }

        .label-warning {
            background-color: #f0ad4e;
        }

        .label-warning[href]:hover,
        .label-warning[href]:focus {
            background-color: #ec971f;
        }

        .label-danger {
            background-color: #d9534f;
        }

        .label-danger[href]:hover,
        .label-danger[href]:focus {
            background-color: #c9302c;
        }

        .badge {
            display: inline-block;
            min-width: 10px;
            padding: 3px 7px;
            font-size: 12px;
            font-weight: bold;
            color: #fff;
            line-height: 1;
            vertical-align: middle;
            white-space: nowrap;
            text-align: center;
            background-color: #777777;
            border-radius: 10px;
        }

        .badge:empty {
            display: none;
        }

        .btn .badge {
            position: relative;
            top: -1px;
        }

        .btn-xs .badge,
        .btn-group-xs > .btn .badge {
            top: 0;
            padding: 1px 5px;
        }

        a.badge:hover,
        a.badge:focus {
            color: #fff;
            text-decoration: none;
            cursor: pointer;
        }

        .list-group-item.active > .badge,
        .nav-pills > .active > a > .badge {
            color: #337ab7;
            background-color: #fff;
        }

        .list-group-item > .badge {
            float: right;
        }

        .list-group-item > .badge + .badge {
            margin-right: 5px;
        }

        .nav-pills > li > a > .badge {
            margin-left: 3px;
        }

        .jumbotron {
            padding-top: 30px;
            padding-bottom: 30px;
            margin-bottom: 30px;
            color: inherit;
            background-color: #eeeeee;
        }

        .jumbotron h1,
        .jumbotron .h1 {
            color: inherit;
        }

        .jumbotron p {
            margin-bottom: 15px;
            font-size: 20px;
            font-weight: 200;
        }

        .jumbotron > hr {
            border-top-color: #d5d5d5;
        }

        .container .jumbotron,
        .container-fluid .jumbotron {
            border-radius: 3px;
            padding-left: 0px;
            padding-right: 0px;
        }

        .jumbotron .container {
            max-width: 100%;
        }

        @media screen and (min-width: 768px) {
            .jumbotron {
                padding-top: 48px;
                padding-bottom: 48px;
            }

            .container .jumbotron,
            .container-fluid .jumbotron {
                padding-left: 60px;
                padding-right: 60px;
            }

            .jumbotron h1,
            .jumbotron .h1 {
                font-size: 59px;
            }
        }

        .thumbnail {
            display: block;
            padding: 4px;
            margin-bottom: 18px;
            line-height: 1.42857143;
            background-color: #fff;
            border: 1px solid #ddd;
            border-radius: 2px;
            -webkit-transition: border 0.2s ease-in-out;
            -o-transition: border 0.2s ease-in-out;
            transition: border 0.2s ease-in-out;
        }

        .thumbnail > img,
        .thumbnail a > img {
            margin-left: auto;
            margin-right: auto;
        }

        a.thumbnail:hover,
        a.thumbnail:focus,
        a.thumbnail.active {
            border-color: #337ab7;
        }

        .thumbnail .caption {
            padding: 9px;
            color: #000;
        }

        .alert {
            padding: 15px;
            margin-bottom: 18px;
            border: 1px solid transparent;
            border-radius: 2px;
        }

        .alert h4 {
            margin-top: 0;
            color: inherit;
        }

        .alert .alert-link {
            font-weight: bold;
        }

        .alert > p,
        .alert > ul {
            margin-bottom: 0;
        }

        .alert > p + p {
            margin-top: 5px;
        }

        .alert-dismissable,
        .alert-dismissible {
            padding-right: 35px;
        }

        .alert-dismissable .close,
        .alert-dismissible .close {
            position: relative;
            top: -2px;
            right: -21px;
            color: inherit;
        }

        .alert-success {
            background-color: #dff0d8;
            border-color: #d6e9c6;
            color: #3c763d;
        }

        .alert-success hr {
            border-top-color: #c9e2b3;
        }

        .alert-success .alert-link {
            color: #2b542c;
        }

        .alert-info {
            background-color: #d9edf7;
            border-color: #bce8f1;
            color: #31708f;
        }

        .alert-info hr {
            border-top-color: #a6e1ec;
        }

        .alert-info .alert-link {
            color: #245269;
        }

        .alert-warning {
            background-color: #fcf8e3;
            border-color: #faebcc;
            color: #8a6d3b;
        }

        .alert-warning hr {
            border-top-color: #f7e1b5;
        }

        .alert-warning .alert-link {
            color: #66512c;
        }

        .alert-danger {
            background-color: #f2dede;
            border-color: #ebccd1;
            color: #a94442;
        }

        .alert-danger hr {
            border-top-color: #e4b9c0;
        }

        .alert-danger .alert-link {
            color: #843534;
        }

        @-webkit-keyframes progress-bar-stripes {
            from {
                background-position: 40px 0;
            }
            to {
                background-position: 0 0;
            }
        }

        @keyframes progress-bar-stripes {
            from {
                background-position: 40px 0;
            }
            to {
                background-position: 0 0;
            }
        }

        .progress {
            overflow: hidden;
            height: 18px;
            margin-bottom: 18px;
            background-color: #f5f5f5;
            border-radius: 2px;
            -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
        }

        .progress-bar {
            float: left;
            width: 0%;
            height: 100%;
            font-size: 12px;
            line-height: 18px;
            color: #fff;
            text-align: center;
            background-color: #337ab7;
            -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
            box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
            -webkit-transition: width 0.6s ease;
            -o-transition: width 0.6s ease;
            transition: width 0.6s ease;
        }

        .progress-striped .progress-bar,
        .progress-bar-striped {
            background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-size: 40px 40px;
        }

        .progress.active .progress-bar,
        .progress-bar.active {
            -webkit-animation: progress-bar-stripes 2s linear infinite;
            -o-animation: progress-bar-stripes 2s linear infinite;
            animation: progress-bar-stripes 2s linear infinite;
        }

        .progress-bar-success {
            background-color: #5cb85c;
        }

        .progress-striped .progress-bar-success {
            background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
        }

        .progress-bar-info {
            background-color: #5bc0de;
        }

        .progress-striped .progress-bar-info {
            background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
        }

        .progress-bar-warning {
            background-color: #f0ad4e;
        }

        .progress-striped .progress-bar-warning {
            background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
        }

        .progress-bar-danger {
            background-color: #d9534f;
        }

        .progress-striped .progress-bar-danger {
            background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
            background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
        }

        .media {
            margin-top: 15px;
        }

        .media:first-child {
            margin-top: 0;
        }

        .media,
        .media-body {
            zoom: 1;
            overflow: hidden;
        }

        .media-body {
            width: 10000px;
        }

        .media-object {
            display: block;
        }

        .media-object.img-thumbnail {
            max-width: none;
        }

        .media-right,
        .media > .pull-right {
            padding-left: 10px;
        }

        .media-left,
        .media > .pull-left {
            padding-right: 10px;
        }

        .media-left,
        .media-right,
        .media-body {
            display: table-cell;
            vertical-align: top;
        }

        .media-middle {
            vertical-align: middle;
        }

        .media-bottom {
            vertical-align: bottom;
        }

        .media-heading {
            margin-top: 0;
            margin-bottom: 5px;
        }

        .media-list {
            padding-left: 0;
            list-style: none;
        }

        .list-group {
            margin-bottom: 20px;
            padding-left: 0;
        }

        .list-group-item {
            position: relative;
            display: block;
            padding: 10px 15px;
            margin-bottom: -1px;
            background-color: #fff;
            border: 1px solid #ddd;
        }

        .list-group-item:first-child {
            border-top-right-radius: 2px;
            border-top-left-radius: 2px;
        }

        .list-group-item:last-child {
            margin-bottom: 0;
            border-bottom-right-radius: 2px;
            border-bottom-left-radius: 2px;
        }

        a.list-group-item,
        button.list-group-item {
            color: #555;
        }

        a.list-group-item .list-group-item-heading,
        button.list-group-item .list-group-item-heading {
            color: #333;
        }

        a.list-group-item:hover,
        button.list-group-item:hover,
        a.list-group-item:focus,
        button.list-group-item:focus {
            text-decoration: none;
            color: #555;
            background-color: #f5f5f5;
        }

        button.list-group-item {
            width: 100%;
            text-align: left;
        }

        .list-group-item.disabled,
        .list-group-item.disabled:hover,
        .list-group-item.disabled:focus {
            background-color: #eeeeee;
            color: #777777;
            cursor: not-allowed;
        }

        .list-group-item.disabled .list-group-item-heading,
        .list-group-item.disabled:hover .list-group-item-heading,
        .list-group-item.disabled:focus .list-group-item-heading {
            color: inherit;
        }

        .list-group-item.disabled .list-group-item-text,
        .list-group-item.disabled:hover .list-group-item-text,
        .list-group-item.disabled:focus .list-group-item-text {
            color: #777777;
        }

        .list-group-item.active,
        .list-group-item.active:hover,
        .list-group-item.active:focus {
            z-index: 2;
            color: #fff;
            background-color: #337ab7;
            border-color: #337ab7;
        }

        .list-group-item.active .list-group-item-heading,
        .list-group-item.active:hover .list-group-item-heading,
        .list-group-item.active:focus .list-group-item-heading,
        .list-group-item.active .list-group-item-heading > small,
        .list-group-item.active:hover .list-group-item-heading > small,
        .list-group-item.active:focus .list-group-item-heading > small,
        .list-group-item.active .list-group-item-heading > .small,
        .list-group-item.active:hover .list-group-item-heading > .small,
        .list-group-item.active:focus .list-group-item-heading > .small {
            color: inherit;
        }

        .list-group-item.active .list-group-item-text,
        .list-group-item.active:hover .list-group-item-text,
        .list-group-item.active:focus .list-group-item-text {
            color: #c7ddef;
        }

        .list-group-item-success {
            color: #3c763d;
            background-color: #dff0d8;
        }

        a.list-group-item-success,
        button.list-group-item-success {
            color: #3c763d;
        }

        a.list-group-item-success .list-group-item-heading,
        button.list-group-item-success .list-group-item-heading {
            color: inherit;
        }

        a.list-group-item-success:hover,
        button.list-group-item-success:hover,
        a.list-group-item-success:focus,
        button.list-group-item-success:focus {
            color: #3c763d;
            background-color: #d0e9c6;
        }

        a.list-group-item-success.active,
        button.list-group-item-success.active,
        a.list-group-item-success.active:hover,
        button.list-group-item-success.active:hover,
        a.list-group-item-success.active:focus,
        button.list-group-item-success.active:focus {
            color: #fff;
            background-color: #3c763d;
            border-color: #3c763d;
        }

        .list-group-item-info {
            color: #31708f;
            background-color: #d9edf7;
        }

        a.list-group-item-info,
        button.list-group-item-info {
            color: #31708f;
        }

        a.list-group-item-info .list-group-item-heading,
        button.list-group-item-info .list-group-item-heading {
            color: inherit;
        }

        a.list-group-item-info:hover,
        button.list-group-item-info:hover,
        a.list-group-item-info:focus,
        button.list-group-item-info:focus {
            color: #31708f;
            background-color: #c4e3f3;
        }

        a.list-group-item-info.active,
        button.list-group-item-info.active,
        a.list-group-item-info.active:hover,
        button.list-group-item-info.active:hover,
        a.list-group-item-info.active:focus,
        button.list-group-item-info.active:focus {
            color: #fff;
            background-color: #31708f;
            border-color: #31708f;
        }

        .list-group-item-warning {
            color: #8a6d3b;
            background-color: #fcf8e3;
        }

        a.list-group-item-warning,
        button.list-group-item-warning {
            color: #8a6d3b;
        }

        a.list-group-item-warning .list-group-item-heading,
        button.list-group-item-warning .list-group-item-heading {
            color: inherit;
        }

        a.list-group-item-warning:hover,
        button.list-group-item-warning:hover,
        a.list-group-item-warning:focus,
        button.list-group-item-warning:focus {
            color: #8a6d3b;
            background-color: #faf2cc;
        }

        a.list-group-item-warning.active,
        button.list-group-item-warning.active,
        a.list-group-item-warning.active:hover,
        button.list-group-item-warning.active:hover,
        a.list-group-item-warning.active:focus,
        button.list-group-item-warning.active:focus {
            color: #fff;
            background-color: #8a6d3b;
            border-color: #8a6d3b;
        }

        .list-group-item-danger {
            color: #a94442;
            background-color: #f2dede;
        }

        a.list-group-item-danger,
        button.list-group-item-danger {
            color: #a94442;
        }

        a.list-group-item-danger .list-group-item-heading,
        button.list-group-item-danger .list-group-item-heading {
            color: inherit;
        }

        a.list-group-item-danger:hover,
        button.list-group-item-danger:hover,
        a.list-group-item-danger:focus,
        button.list-group-item-danger:focus {
            color: #a94442;
            background-color: #ebcccc;
        }

        a.list-group-item-danger.active,
        button.list-group-item-danger.active,
        a.list-group-item-danger.active:hover,
        button.list-group-item-danger.active:hover,
        a.list-group-item-danger.active:focus,
        button.list-group-item-danger.active:focus {
            color: #fff;
            background-color: #a94442;
            border-color: #a94442;
        }

        .list-group-item-heading {
            margin-top: 0;
            margin-bottom: 5px;
        }

        .list-group-item-text {
            margin-bottom: 0;
            line-height: 1.3;
        }

        .panel {
            margin-bottom: 18px;
            background-color: #fff;
            border: 1px solid transparent;
            border-radius: 2px;
            -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
        }

        .panel-body {
            padding: 15px;
        }

        .panel-heading {
            padding: 10px 15px;
            border-bottom: 1px solid transparent;
            border-top-right-radius: 1px;
            border-top-left-radius: 1px;
        }

        .panel-heading > .dropdown .dropdown-toggle {
            color: inherit;
        }

        .panel-title {
            margin-top: 0;
            margin-bottom: 0;
            font-size: 15px;
            color: inherit;
        }

        .panel-title > a,
        .panel-title > small,
        .panel-title > .small,
        .panel-title > small > a,
        .panel-title > .small > a {
            color: inherit;
        }

        .panel-footer {
            padding: 10px 15px;
            background-color: #f5f5f5;
            border-top: 1px solid #ddd;
            border-bottom-right-radius: 1px;
            border-bottom-left-radius: 1px;
        }

        .panel > .list-group,
        .panel > .panel-collapse > .list-group {
            margin-bottom: 0;
        }

        .panel > .list-group .list-group-item,
        .panel > .panel-collapse > .list-group .list-group-item {
            border-width: 1px 0;
            border-radius: 0;
        }

        .panel > .list-group:first-child .list-group-item:first-child,
        .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
            border-top: 0;
            border-top-right-radius: 1px;
            border-top-left-radius: 1px;
        }

        .panel > .list-group:last-child .list-group-item:last-child,
        .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
            border-bottom: 0;
            border-bottom-right-radius: 1px;
            border-bottom-left-radius: 1px;
        }

        .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
            border-top-right-radius: 0;
            border-top-left-radius: 0;
        }

        .panel-heading + .list-group .list-group-item:first-child {
            border-top-width: 0;
        }

        .list-group + .panel-footer {
            border-top-width: 0;
        }

        .panel > .table,
        .panel > .table-responsive > .table,
        .panel > .panel-collapse > .table {
            margin-bottom: 0;
        }

        .panel > .table caption,
        .panel > .table-responsive > .table caption,
        .panel > .panel-collapse > .table caption {
            padding-left: 15px;
            padding-right: 15px;
        }

        .panel > .table:first-child,
        .panel > .table-responsive:first-child > .table:first-child {
            border-top-right-radius: 1px;
            border-top-left-radius: 1px;
        }

        .panel > .table:first-child > thead:first-child > tr:first-child,
        .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
        .panel > .table:first-child > tbody:first-child > tr:first-child,
        .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
            border-top-left-radius: 1px;
            border-top-right-radius: 1px;
        }

        .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
        .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
        .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
        .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
        .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
        .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
        .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
        .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
            border-top-left-radius: 1px;
        }

        .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
        .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
        .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
        .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
        .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
        .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
        .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
        .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
            border-top-right-radius: 1px;
        }

        .panel > .table:last-child,
        .panel > .table-responsive:last-child > .table:last-child {
            border-bottom-right-radius: 1px;
            border-bottom-left-radius: 1px;
        }

        .panel > .table:last-child > tbody:last-child > tr:last-child,
        .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
        .panel > .table:last-child > tfoot:last-child > tr:last-child,
        .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
            border-bottom-left-radius: 1px;
            border-bottom-right-radius: 1px;
        }

        .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
        .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
        .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
        .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
        .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
        .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
        .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
        .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
            border-bottom-left-radius: 1px;
        }

        .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
        .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
        .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
        .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
        .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
        .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
        .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
        .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
            border-bottom-right-radius: 1px;
        }

        .panel > .panel-body + .table,
        .panel > .panel-body + .table-responsive,
        .panel > .table + .panel-body,
        .panel > .table-responsive + .panel-body {
            border-top: 1px solid #ddd;
        }

        .panel > .table > tbody:first-child > tr:first-child th,
        .panel > .table > tbody:first-child > tr:first-child td {
            border-top: 0;
        }

        .panel > .table-bordered,
        .panel > .table-responsive > .table-bordered {
            border: 0;
        }

        .panel > .table-bordered > thead > tr > th:first-child,
        .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
        .panel > .table-bordered > tbody > tr > th:first-child,
        .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
        .panel > .table-bordered > tfoot > tr > th:first-child,
        .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
        .panel > .table-bordered > thead > tr > td:first-child,
        .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
        .panel > .table-bordered > tbody > tr > td:first-child,
        .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
        .panel > .table-bordered > tfoot > tr > td:first-child,
        .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
            border-left: 0;
        }

        .panel > .table-bordered > thead > tr > th:last-child,
        .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
        .panel > .table-bordered > tbody > tr > th:last-child,
        .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
        .panel > .table-bordered > tfoot > tr > th:last-child,
        .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
        .panel > .table-bordered > thead > tr > td:last-child,
        .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
        .panel > .table-bordered > tbody > tr > td:last-child,
        .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
        .panel > .table-bordered > tfoot > tr > td:last-child,
        .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
            border-right: 0;
        }

        .panel > .table-bordered > thead > tr:first-child > td,
        .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
        .panel > .table-bordered > tbody > tr:first-child > td,
        .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
        .panel > .table-bordered > thead > tr:first-child > th,
        .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
        .panel > .table-bordered > tbody > tr:first-child > th,
        .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
            border-bottom: 0;
        }

        .panel > .table-bordered > tbody > tr:last-child > td,
        .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
        .panel > .table-bordered > tfoot > tr:last-child > td,
        .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
        .panel > .table-bordered > tbody > tr:last-child > th,
        .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
        .panel > .table-bordered > tfoot > tr:last-child > th,
        .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
            border-bottom: 0;
        }

        .panel > .table-responsive {
            border: 0;
            margin-bottom: 0;
        }

        .panel-group {
            margin-bottom: 18px;
        }

        .panel-group .panel {
            margin-bottom: 0;
            border-radius: 2px;
        }

        .panel-group .panel + .panel {
            margin-top: 5px;
        }

        .panel-group .panel-heading {
            border-bottom: 0;
        }

        .panel-group .panel-heading + .panel-collapse > .panel-body,
        .panel-group .panel-heading + .panel-collapse > .list-group {
            border-top: 1px solid #ddd;
        }

        .panel-group .panel-footer {
            border-top: 0;
        }

        .panel-group .panel-footer + .panel-collapse .panel-body {
            border-bottom: 1px solid #ddd;
        }

        .panel-default {
            border-color: #ddd;
        }

        .panel-default > .panel-heading {
            color: #333333;
            background-color: #f5f5f5;
            border-color: #ddd;
        }

        .panel-default > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #ddd;
        }

        .panel-default > .panel-heading .badge {
            color: #f5f5f5;
            background-color: #333333;
        }

        .panel-default > .panel-footer + .panel-collapse > .panel-body {
            border-bottom-color: #ddd;
        }

        .panel-primary {
            border-color: #337ab7;
        }

        .panel-primary > .panel-heading {
            color: #fff;
            background-color: #337ab7;
            border-color: #337ab7;
        }

        .panel-primary > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #337ab7;
        }

        .panel-primary > .panel-heading .badge {
            color: #337ab7;
            background-color: #fff;
        }

        .panel-primary > .panel-footer + .panel-collapse > .panel-body {
            border-bottom-color: #337ab7;
        }

        .panel-success {
            border-color: #d6e9c6;
        }

        .panel-success > .panel-heading {
            color: #3c763d;
            background-color: #dff0d8;
            border-color: #d6e9c6;
        }

        .panel-success > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #d6e9c6;
        }

        .panel-success > .panel-heading .badge {
            color: #dff0d8;
            background-color: #3c763d;
        }

        .panel-success > .panel-footer + .panel-collapse > .panel-body {
            border-bottom-color: #d6e9c6;
        }

        .panel-info {
            border-color: #bce8f1;
        }

        .panel-info > .panel-heading {
            color: #31708f;
            background-color: #d9edf7;
            border-color: #bce8f1;
        }

        .panel-info > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #bce8f1;
        }

        .panel-info > .panel-heading .badge {
            color: #d9edf7;
            background-color: #31708f;
        }

        .panel-info > .panel-footer + .panel-collapse > .panel-body {
            border-bottom-color: #bce8f1;
        }

        .panel-warning {
            border-color: #faebcc;
        }

        .panel-warning > .panel-heading {
            color: #8a6d3b;
            background-color: #fcf8e3;
            border-color: #faebcc;
        }

        .panel-warning > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #faebcc;
        }

        .panel-warning > .panel-heading .badge {
            color: #fcf8e3;
            background-color: #8a6d3b;
        }

        .panel-warning > .panel-footer + .panel-collapse > .panel-body {
            border-bottom-color: #faebcc;
        }

        .panel-danger {
            border-color: #ebccd1;
        }

        .panel-danger > .panel-heading {
            color: #a94442;
            background-color: #f2dede;
            border-color: #ebccd1;
        }

        .panel-danger > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #ebccd1;
        }

        .panel-danger > .panel-heading .badge {
            color: #f2dede;
            background-color: #a94442;
        }

        .panel-danger > .panel-footer + .panel-collapse > .panel-body {
            border-bottom-color: #ebccd1;
        }

        .embed-responsive {
            position: relative;
            display: block;
            height: 0;
            padding: 0;
            overflow: hidden;
        }

        .embed-responsive .embed-responsive-item,
        .embed-responsive iframe,
        .embed-responsive embed,
        .embed-responsive object,
        .embed-responsive video {
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            height: 100%;
            width: 100%;
            border: 0;
        }

        .embed-responsive-16by9 {
            padding-bottom: 56.25%;
        }

        .embed-responsive-4by3 {
            padding-bottom: 75%;
        }

        .well {
            min-height: 20px;
            padding: 19px;
            margin-bottom: 20px;
            background-color: #f5f5f5;
            border: 1px solid #e3e3e3;
            border-radius: 2px;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
        }

        .well blockquote {
            border-color: #ddd;
            border-color: rgba(0, 0, 0, 0.15);
        }

        .well-lg {
            padding: 24px;
            border-radius: 3px;
        }

        .well-sm {
            padding: 9px;
            border-radius: 1px;
        }

        .close {
            float: right;
            font-size: 19.5px;
            font-weight: bold;
            line-height: 1;
            color: #000;
            text-shadow: 0 1px 0 #fff;
            opacity: 0.2;
            filter: alpha(opacity=20);
        }

        .close:hover,
        .close:focus {
            color: #000;
            text-decoration: none;
            cursor: pointer;
            opacity: 0.5;
            filter: alpha(opacity=50);
        }

        button.close {
            padding: 0;
            cursor: pointer;
            background: transparent;
            border: 0;
            -webkit-appearance: none;
        }

        .modal-open {
            overflow: hidden;
        }

        .modal {
            display: none;
            overflow: hidden;
            position: fixed;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: 1050;
            -webkit-overflow-scrolling: touch;
            outline: 0;
        }

        .modal.fade .modal-dialog {
            -webkit-transform: translate(0, -25%);
            -ms-transform: translate(0, -25%);
            -o-transform: translate(0, -25%);
            transform: translate(0, -25%);
            -webkit-transition: -webkit-transform 0.3s ease-out;
            -moz-transition: -moz-transform 0.3s ease-out;
            -o-transition: -o-transform 0.3s ease-out;
            transition: transform 0.3s ease-out;
        }

        .modal.in .modal-dialog {
            -webkit-transform: translate(0, 0);
            -ms-transform: translate(0, 0);
            -o-transform: translate(0, 0);
            transform: translate(0, 0);
        }

        .modal-open .modal {
            overflow-x: hidden;
            overflow-y: auto;
        }

        .modal-dialog {
            position: relative;
            width: auto;
            margin: 10px;
        }

        .modal-content {
            position: relative;
            background-color: #fff;
            border: 1px solid #999;
            border: 1px solid rgba(0, 0, 0, 0.2);
            border-radius: 3px;
            -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
            box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
            background-clip: padding-box;
            outline: 0;
        }

        .modal-backdrop {
            position: fixed;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: 1040;
            background-color: #000;
        }

        .modal-backdrop.fade {
            opacity: 0;
            filter: alpha(opacity=0);
        }

        .modal-backdrop.in {
            opacity: 0.5;
            filter: alpha(opacity=50);
        }

        .modal-header {
            padding: 15px;
            border-bottom: 1px solid #e5e5e5;
        }

        .modal-header .close {
            margin-top: -2px;
        }

        .modal-title {
            margin: 0;
            line-height: 1.42857143;
        }

        .modal-body {
            position: relative;
            padding: 15px;
        }

        .modal-footer {
            padding: 15px;
            text-align: right;
            border-top: 1px solid #e5e5e5;
        }

        .modal-footer .btn + .btn {
            margin-left: 5px;
            margin-bottom: 0;
        }

        .modal-footer .btn-group .btn + .btn {
            margin-left: -1px;
        }

        .modal-footer .btn-block + .btn-block {
            margin-left: 0;
        }

        .modal-scrollbar-measure {
            position: absolute;
            top: -9999px;
            width: 50px;
            height: 50px;
            overflow: scroll;
        }

        @media (min-width: 768px) {
            .modal-dialog {
                width: 600px;
                margin: 30px auto;
            }

            .modal-content {
                -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
                box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
            }

            .modal-sm {
                width: 300px;
            }
        }

        @media (min-width: 992px) {
            .modal-lg {
                width: 900px;
            }
        }

        .tooltip {
            position: absolute;
            z-index: 1070;
            display: block;
            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
            font-style: normal;
            font-weight: normal;
            letter-spacing: normal;
            line-break: auto;
            line-height: 1.42857143;
            text-align: left;
            text-align: start;
            text-decoration: none;
            text-shadow: none;
            text-transform: none;
            white-space: normal;
            word-break: normal;
            word-spacing: normal;
            word-wrap: normal;
            font-size: 12px;
            opacity: 0;
            filter: alpha(opacity=0);
        }

        .tooltip.in {
            opacity: 0.9;
            filter: alpha(opacity=90);
        }

        .tooltip.top {
            margin-top: -3px;
            padding: 5px 0;
        }

        .tooltip.right {
            margin-left: 3px;
            padding: 0 5px;
        }

        .tooltip.bottom {
            margin-top: 3px;
            padding: 5px 0;
        }

        .tooltip.left {
            margin-left: -3px;
            padding: 0 5px;
        }

        .tooltip-inner {
            max-width: 200px;
            padding: 3px 8px;
            color: #fff;
            text-align: center;
            background-color: #000;
            border-radius: 2px;
        }

        .tooltip-arrow {
            position: absolute;
            width: 0;
            height: 0;
            border-color: transparent;
            border-style: solid;
        }

        .tooltip.top .tooltip-arrow {
            bottom: 0;
            left: 50%;
            margin-left: -5px;
            border-width: 5px 5px 0;
            border-top-color: #000;
        }

        .tooltip.top-left .tooltip-arrow {
            bottom: 0;
            right: 5px;
            margin-bottom: -5px;
            border-width: 5px 5px 0;
            border-top-color: #000;
        }

        .tooltip.top-right .tooltip-arrow {
            bottom: 0;
            left: 5px;
            margin-bottom: -5px;
            border-width: 5px 5px 0;
            border-top-color: #000;
        }

        .tooltip.right .tooltip-arrow {
            top: 50%;
            left: 0;
            margin-top: -5px;
            border-width: 5px 5px 5px 0;
            border-right-color: #000;
        }

        .tooltip.left .tooltip-arrow {
            top: 50%;
            right: 0;
            margin-top: -5px;
            border-width: 5px 0 5px 5px;
            border-left-color: #000;
        }

        .tooltip.bottom .tooltip-arrow {
            top: 0;
            left: 50%;
            margin-left: -5px;
            border-width: 0 5px 5px;
            border-bottom-color: #000;
        }

        .tooltip.bottom-left .tooltip-arrow {
            top: 0;
            right: 5px;
            margin-top: -5px;
            border-width: 0 5px 5px;
            border-bottom-color: #000;
        }

        .tooltip.bottom-right .tooltip-arrow {
            top: 0;
            left: 5px;
            margin-top: -5px;
            border-width: 0 5px 5px;
            border-bottom-color: #000;
        }

        .popover {
            position: absolute;
            top: 0;
            left: 0;
            z-index: 1060;
            display: none;
            max-width: 276px;
            padding: 1px;
            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
            font-style: normal;
            font-weight: normal;
            letter-spacing: normal;
            line-break: auto;
            line-height: 1.42857143;
            text-align: left;
            text-align: start;
            text-decoration: none;
            text-shadow: none;
            text-transform: none;
            white-space: normal;
            word-break: normal;
            word-spacing: normal;
            word-wrap: normal;
            font-size: 13px;
            background-color: #fff;
            background-clip: padding-box;
            border: 1px solid #ccc;
            border: 1px solid rgba(0, 0, 0, 0.2);
            border-radius: 3px;
            -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
        }

        .popover.top {
            margin-top: -10px;
        }

        .popover.right {
            margin-left: 10px;
        }

        .popover.bottom {
            margin-top: 10px;
        }

        .popover.left {
            margin-left: -10px;
        }

        .popover-title {
            margin: 0;
            padding: 8px 14px;
            font-size: 13px;
            background-color: #f7f7f7;
            border-bottom: 1px solid #ebebeb;
            border-radius: 2px 2px 0 0;
        }

        .popover-content {
            padding: 9px 14px;
        }

        .popover > .arrow,
        .popover > .arrow:after {
            position: absolute;
            display: block;
            width: 0;
            height: 0;
            border-color: transparent;
            border-style: solid;
        }

        .popover > .arrow {
            border-width: 11px;
        }

        .popover > .arrow:after {
            border-width: 10px;
            content: "";
        }

        .popover.top > .arrow {
            left: 50%;
            margin-left: -11px;
            border-bottom-width: 0;
            border-top-color: #999999;
            border-top-color: rgba(0, 0, 0, 0.25);
            bottom: -11px;
        }

        .popover.top > .arrow:after {
            content: " ";
            bottom: 1px;
            margin-left: -10px;
            border-bottom-width: 0;
            border-top-color: #fff;
        }

        .popover.right > .arrow {
            top: 50%;
            left: -11px;
            margin-top: -11px;
            border-left-width: 0;
            border-right-color: #999999;
            border-right-color: rgba(0, 0, 0, 0.25);
        }

        .popover.right > .arrow:after {
            content: " ";
            left: 1px;
            bottom: -10px;
            border-left-width: 0;
            border-right-color: #fff;
        }

        .popover.bottom > .arrow {
            left: 50%;
            margin-left: -11px;
            border-top-width: 0;
            border-bottom-color: #999999;
            border-bottom-color: rgba(0, 0, 0, 0.25);
            top: -11px;
        }

        .popover.bottom > .arrow:after {
            content: " ";
            top: 1px;
            margin-left: -10px;
            border-top-width: 0;
            border-bottom-color: #fff;
        }

        .popover.left > .arrow {
            top: 50%;
            right: -11px;
            margin-top: -11px;
            border-right-width: 0;
            border-left-color: #999999;
            border-left-color: rgba(0, 0, 0, 0.25);
        }

        .popover.left > .arrow:after {
            content: " ";
            right: 1px;
            border-right-width: 0;
            border-left-color: #fff;
            bottom: -10px;
        }

        .carousel {
            position: relative;
        }

        .carousel-inner {
            position: relative;
            overflow: hidden;
            width: 100%;
        }

        .carousel-inner > .item {
            display: none;
            position: relative;
            -webkit-transition: 0.6s ease-in-out left;
            -o-transition: 0.6s ease-in-out left;
            transition: 0.6s ease-in-out left;
        }

        .carousel-inner > .item > img,
        .carousel-inner > .item > a > img {
            line-height: 1;
        }

        @media all and (transform-3d), (-webkit-transform-3d) {
            .carousel-inner > .item {
                -webkit-transition: -webkit-transform 0.6s ease-in-out;
                -moz-transition: -moz-transform 0.6s ease-in-out;
                -o-transition: -o-transform 0.6s ease-in-out;
                transition: transform 0.6s ease-in-out;
                -webkit-backface-visibility: hidden;
                -moz-backface-visibility: hidden;
                backface-visibility: hidden;
                -webkit-perspective: 1000px;
                -moz-perspective: 1000px;
                perspective: 1000px;
            }

            .carousel-inner > .item.next,
            .carousel-inner > .item.active.right {
                -webkit-transform: translate3d(100%, 0, 0);
                transform: translate3d(100%, 0, 0);
                left: 0;
            }

            .carousel-inner > .item.prev,
            .carousel-inner > .item.active.left {
                -webkit-transform: translate3d(-100%, 0, 0);
                transform: translate3d(-100%, 0, 0);
                left: 0;
            }

            .carousel-inner > .item.next.left,
            .carousel-inner > .item.prev.right,
            .carousel-inner > .item.active {
                -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
                left: 0;
            }
        }

        .carousel-inner > .active,
        .carousel-inner > .next,
        .carousel-inner > .prev {
            display: block;
        }

        .carousel-inner > .active {
            left: 0;
        }

        .carousel-inner > .next,
        .carousel-inner > .prev {
            position: absolute;
            top: 0;
            width: 100%;
        }

        .carousel-inner > .next {
            left: 100%;
        }

        .carousel-inner > .prev {
            left: -100%;
        }

        .carousel-inner > .next.left,
        .carousel-inner > .prev.right {
            left: 0;
        }

        .carousel-inner > .active.left {
            left: -100%;
        }

        .carousel-inner > .active.right {
            left: 100%;
        }

        .carousel-control {
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            width: 15%;
            opacity: 0.5;
            filter: alpha(opacity=50);
            font-size: 20px;
            color: #fff;
            text-align: center;
            text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
            background-color: rgba(0, 0, 0, 0);
        }

        .carousel-control.left {
            background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
            background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
            background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
            background-repeat: repeat-x;
            filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
        }

        .carousel-control.right {
            left: auto;
            right: 0;
            background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
            background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
            background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
            background-repeat: repeat-x;
            filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
        }

        .carousel-control:hover,
        .carousel-control:focus {
            outline: 0;
            color: #fff;
            text-decoration: none;
            opacity: 0.9;
            filter: alpha(opacity=90);
        }

        .carousel-control .icon-prev,
        .carousel-control .icon-next,
        .carousel-control .glyphicon-chevron-left,
        .carousel-control .glyphicon-chevron-right {
            position: absolute;
            top: 50%;
            margin-top: -10px;
            z-index: 5;
            display: inline-block;
        }

        .carousel-control .icon-prev,
        .carousel-control .glyphicon-chevron-left {
            left: 50%;
            margin-left: -10px;
        }

        .carousel-control .icon-next,
        .carousel-control .glyphicon-chevron-right {
            right: 50%;
            margin-right: -10px;
        }

        .carousel-control .icon-prev,
        .carousel-control .icon-next {
            width: 20px;
            height: 20px;
            line-height: 1;
            font-family: serif;
        }

        .carousel-control .icon-prev:before {
            content: '\2039';
        }

        .carousel-control .icon-next:before {
            content: '\203a';
        }

        .carousel-indicators {
            position: absolute;
            bottom: 10px;
            left: 50%;
            z-index: 15;
            width: 60%;
            margin-left: -30%;
            padding-left: 0;
            list-style: none;
            text-align: center;
        }

        .carousel-indicators li {
            display: inline-block;
            width: 10px;
            height: 10px;
            margin: 1px;
            text-indent: -999px;
            border: 1px solid #fff;
            border-radius: 10px;
            cursor: pointer;
            background-color: #000 \9;
            background-color: rgba(0, 0, 0, 0);
        }

        .carousel-indicators .active {
            margin: 0;
            width: 12px;
            height: 12px;
            background-color: #fff;
        }

        .carousel-caption {
            position: absolute;
            left: 15%;
            right: 15%;
            bottom: 20px;
            z-index: 10;
            padding-top: 20px;
            padding-bottom: 20px;
            color: #fff;
            text-align: center;
            text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
        }

        .carousel-caption .btn {
            text-shadow: none;
        }

        @media screen and (min-width: 768px) {
            .carousel-control .glyphicon-chevron-left,
            .carousel-control .glyphicon-chevron-right,
            .carousel-control .icon-prev,
            .carousel-control .icon-next {
                width: 30px;
                height: 30px;
                margin-top: -10px;
                font-size: 30px;
            }

            .carousel-control .glyphicon-chevron-left,
            .carousel-control .icon-prev {
                margin-left: -10px;
            }

            .carousel-control .glyphicon-chevron-right,
            .carousel-control .icon-next {
                margin-right: -10px;
            }

            .carousel-caption {
                left: 20%;
                right: 20%;
                padding-bottom: 30px;
            }

            .carousel-indicators {
                bottom: 20px;
            }
        }

        .clearfix:before,
        .clearfix:after,
        .dl-horizontal dd:before,
        .dl-horizontal dd:after,
        .container:before,
        .container:after,
        .container-fluid:before,
        .container-fluid:after,
        .row:before,
        .row:after,
        .form-horizontal .form-group:before,
        .form-horizontal .form-group:after,
        .btn-toolbar:before,
        .btn-toolbar:after,
        .btn-group-vertical > .btn-group:before,
        .btn-group-vertical > .btn-group:after,
        .nav:before,
        .nav:after,
        .navbar:before,
        .navbar:after,
        .navbar-header:before,
        .navbar-header:after,
        .navbar-collapse:before,
        .navbar-collapse:after,
        .pager:before,
        .pager:after,
        .panel-body:before,
        .panel-body:after,
        .modal-header:before,
        .modal-header:after,
        .modal-footer:before,
        .modal-footer:after,
        .item_buttons:before,
        .item_buttons:after {
            content: " ";
            display: table;
        }

        .clearfix:after,
        .dl-horizontal dd:after,
        .container:after,
        .container-fluid:after,
        .row:after,
        .form-horizontal .form-group:after,
        .btn-toolbar:after,
        .btn-group-vertical > .btn-group:after,
        .nav:after,
        .navbar:after,
        .navbar-header:after,
        .navbar-collapse:after,
        .pager:after,
        .panel-body:after,
        .modal-header:after,
        .modal-footer:after,
        .item_buttons:after {
            clear: both;
        }

        .center-block {
            display: block;
            margin-left: auto;
            margin-right: auto;
        }

        .pull-right {
            float: right !important;
        }

        .pull-left {
            float: left !important;
        }

        .hide {
            display: none !important;
        }

        .show {
            display: block !important;
        }

        .invisible {
            visibility: hidden;
        }

        .text-hide {
            font: 0/0 a;
            color: transparent;
            text-shadow: none;
            background-color: transparent;
            border: 0;
        }

        .hidden {
            display: none !important;
        }

        .affix {
            position: fixed;
        }

        @-ms-viewport {
            width: device-width;
        }

        .visible-xs,
        .visible-sm,
        .visible-md,
        .visible-lg {
            display: none !important;
        }

        .visible-xs-block,
        .visible-xs-inline,
        .visible-xs-inline-block,
        .visible-sm-block,
        .visible-sm-inline,
        .visible-sm-inline-block,
        .visible-md-block,
        .visible-md-inline,
        .visible-md-inline-block,
        .visible-lg-block,
        .visible-lg-inline,
        .visible-lg-inline-block {
            display: none !important;
        }

        @media (max-width: 767px) {
            .visible-xs {
                display: block !important;
            }

            table.visible-xs {
                display: table !important;
            }

            tr.visible-xs {
                display: table-row !important;
            }

            th.visible-xs,
            td.visible-xs {
                display: table-cell !important;
            }
        }

        @media (max-width: 767px) {
            .visible-xs-block {
                display: block !important;
            }
        }

        @media (max-width: 767px) {
            .visible-xs-inline {
                display: inline !important;
            }
        }

        @media (max-width: 767px) {
            .visible-xs-inline-block {
                display: inline-block !important;
            }
        }

        @media (min-width: 768px) and (max-width: 991px) {
            .visible-sm {
                display: block !important;
            }

            table.visible-sm {
                display: table !important;
            }

            tr.visible-sm {
                display: table-row !important;
            }

            th.visible-sm,
            td.visible-sm {
                display: table-cell !important;
            }
        }

        @media (min-width: 768px) and (max-width: 991px) {
            .visible-sm-block {
                display: block !important;
            }
        }

        @media (min-width: 768px) and (max-width: 991px) {
            .visible-sm-inline {
                display: inline !important;
            }
        }

        @media (min-width: 768px) and (max-width: 991px) {
            .visible-sm-inline-block {
                display: inline-block !important;
            }
        }

        @media (min-width: 992px) and (max-width: 1199px) {
            .visible-md {
                display: block !important;
            }

            table.visible-md {
                display: table !important;
            }

            tr.visible-md {
                display: table-row !important;
            }

            th.visible-md,
            td.visible-md {
                display: table-cell !important;
            }
        }

        @media (min-width: 992px) and (max-width: 1199px) {
            .visible-md-block {
                display: block !important;
            }
        }

        @media (min-width: 992px) and (max-width: 1199px) {
            .visible-md-inline {
                display: inline !important;
            }
        }

        @media (min-width: 992px) and (max-width: 1199px) {
            .visible-md-inline-block {
                display: inline-block !important;
            }
        }

        @media (min-width: 1200px) {
            .visible-lg {
                display: block !important;
            }

            table.visible-lg {
                display: table !important;
            }

            tr.visible-lg {
                display: table-row !important;
            }

            th.visible-lg,
            td.visible-lg {
                display: table-cell !important;
            }
        }

        @media (min-width: 1200px) {
            .visible-lg-block {
                display: block !important;
            }
        }

        @media (min-width: 1200px) {
            .visible-lg-inline {
                display: inline !important;
            }
        }

        @media (min-width: 1200px) {
            .visible-lg-inline-block {
                display: inline-block !important;
            }
        }

        @media (max-width: 767px) {
            .hidden-xs {
                display: none !important;
            }
        }

        @media (min-width: 768px) and (max-width: 991px) {
            .hidden-sm {
                display: none !important;
            }
        }

        @media (min-width: 992px) and (max-width: 1199px) {
            .hidden-md {
                display: none !important;
            }
        }

        @media (min-width: 1200px) {
            .hidden-lg {
                display: none !important;
            }
        }

        .visible-print {
            display: none !important;
        }

        @media print {
            .visible-print {
                display: block !important;
            }

            table.visible-print {
                display: table !important;
            }

            tr.visible-print {
                display: table-row !important;
            }

            th.visible-print,
            td.visible-print {
                display: table-cell !important;
            }
        }

        .visible-print-block {
            display: none !important;
        }

        @media print {
            .visible-print-block {
                display: block !important;
            }
        }

        .visible-print-inline {
            display: none !important;
        }

        @media print {
            .visible-print-inline {
                display: inline !important;
            }
        }

        .visible-print-inline-block {
            display: none !important;
        }

        @media print {
            .visible-print-inline-block {
                display: inline-block !important;
            }
        }

        @media print {
            .hidden-print {
                display: none !important;
            }
        }

        /*!
*
* Font Awesome
*
*/
        /*!
 *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
        /* FONT PATH
 * -------------------------- */
        @font-face {
            font-family: 'FontAwesome';
            src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
            src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
            font-weight: normal;
            font-style: normal;
        }

        .fa {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* makes the font 33% larger relative to the icon container */
        .fa-lg {
            font-size: 1.33333333em;
            line-height: 0.75em;
            vertical-align: -15%;
        }

        .fa-2x {
            font-size: 2em;
        }

        .fa-3x {
            font-size: 3em;
        }

        .fa-4x {
            font-size: 4em;
        }

        .fa-5x {
            font-size: 5em;
        }

        .fa-fw {
            width: 1.28571429em;
            text-align: center;
        }

        .fa-ul {
            padding-left: 0;
            margin-left: 2.14285714em;
            list-style-type: none;
        }

        .fa-ul > li {
            position: relative;
        }

        .fa-li {
            position: absolute;
            left: -2.14285714em;
            width: 2.14285714em;
            top: 0.14285714em;
            text-align: center;
        }

        .fa-li.fa-lg {
            left: -1.85714286em;
        }

        .fa-border {
            padding: .2em .25em .15em;
            border: solid 0.08em #eee;
            border-radius: .1em;
        }

        .pull-right {
            float: right;
        }

        .pull-left {
            float: left;
        }

        .fa.pull-left {
            margin-right: .3em;
        }

        .fa.pull-right {
            margin-left: .3em;
        }

        .fa-spin {
            -webkit-animation: fa-spin 2s infinite linear;
            animation: fa-spin 2s infinite linear;
        }

        @-webkit-keyframes fa-spin {
            0% {
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
            }
            100% {
                -webkit-transform: rotate(359deg);
                transform: rotate(359deg);
            }
        }

        @keyframes fa-spin {
            0% {
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
            }
            100% {
                -webkit-transform: rotate(359deg);
                transform: rotate(359deg);
            }
        }

        .fa-rotate-90 {
            filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
            -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
            transform: rotate(90deg);
        }

        .fa-rotate-180 {
            filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
            -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
            transform: rotate(180deg);
        }

        .fa-rotate-270 {
            filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
            -webkit-transform: rotate(270deg);
            -ms-transform: rotate(270deg);
            transform: rotate(270deg);
        }

        .fa-flip-horizontal {
            filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
            -webkit-transform: scale(-1, 1);
            -ms-transform: scale(-1, 1);
            transform: scale(-1, 1);
        }

        .fa-flip-vertical {
            filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
            -webkit-transform: scale(1, -1);
            -ms-transform: scale(1, -1);
            transform: scale(1, -1);
        }

        :root .fa-rotate-90,
        :root .fa-rotate-180,
        :root .fa-rotate-270,
        :root .fa-flip-horizontal,
        :root .fa-flip-vertical {
            filter: none;
        }

        .fa-stack {
            position: relative;
            display: inline-block;
            width: 2em;
            height: 2em;
            line-height: 2em;
            vertical-align: middle;
        }

        .fa-stack-1x,
        .fa-stack-2x {
            position: absolute;
            left: 0;
            width: 100%;
            text-align: center;
        }

        .fa-stack-1x {
            line-height: inherit;
        }

        .fa-stack-2x {
            font-size: 2em;
        }

        .fa-inverse {
            color: #fff;
        }

        /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
        .fa-glass:before {
            content: "\f000";
        }

        .fa-music:before {
            content: "\f001";
        }

        .fa-search:before {
            content: "\f002";
        }

        .fa-envelope-o:before {
            content: "\f003";
        }

        .fa-heart:before {
            content: "\f004";
        }

        .fa-star:before {
            content: "\f005";
        }

        .fa-star-o:before {
            content: "\f006";
        }

        .fa-user:before {
            content: "\f007";
        }

        .fa-film:before {
            content: "\f008";
        }

        .fa-th-large:before {
            content: "\f009";
        }

        .fa-th:before {
            content: "\f00a";
        }

        .fa-th-list:before {
            content: "\f00b";
        }

        .fa-check:before {
            content: "\f00c";
        }

        .fa-remove:before,
        .fa-close:before,
        .fa-times:before {
            content: "\f00d";
        }

        .fa-search-plus:before {
            content: "\f00e";
        }

        .fa-search-minus:before {
            content: "\f010";
        }

        .fa-power-off:before {
            content: "\f011";
        }

        .fa-signal:before {
            content: "\f012";
        }

        .fa-gear:before,
        .fa-cog:before {
            content: "\f013";
        }

        .fa-trash-o:before {
            content: "\f014";
        }

        .fa-home:before {
            content: "\f015";
        }

        .fa-file-o:before {
            content: "\f016";
        }

        .fa-clock-o:before {
            content: "\f017";
        }

        .fa-road:before {
            content: "\f018";
        }

        .fa-download:before {
            content: "\f019";
        }

        .fa-arrow-circle-o-down:before {
            content: "\f01a";
        }

        .fa-arrow-circle-o-up:before {
            content: "\f01b";
        }

        .fa-inbox:before {
            content: "\f01c";
        }

        .fa-play-circle-o:before {
            content: "\f01d";
        }

        .fa-rotate-right:before,
        .fa-repeat:before {
            content: "\f01e";
        }

        .fa-refresh:before {
            content: "\f021";
        }

        .fa-list-alt:before {
            content: "\f022";
        }

        .fa-lock:before {
            content: "\f023";
        }

        .fa-flag:before {
            content: "\f024";
        }

        .fa-headphones:before {
            content: "\f025";
        }

        .fa-volume-off:before {
            content: "\f026";
        }

        .fa-volume-down:before {
            content: "\f027";
        }

        .fa-volume-up:before {
            content: "\f028";
        }

        .fa-qrcode:before {
            content: "\f029";
        }

        .fa-barcode:before {
            content: "\f02a";
        }

        .fa-tag:before {
            content: "\f02b";
        }

        .fa-tags:before {
            content: "\f02c";
        }

        .fa-book:before {
            content: "\f02d";
        }

        .fa-bookmark:before {
            content: "\f02e";
        }

        .fa-print:before {
            content: "\f02f";
        }

        .fa-camera:before {
            content: "\f030";
        }

        .fa-font:before {
            content: "\f031";
        }

        .fa-bold:before {
            content: "\f032";
        }

        .fa-italic:before {
            content: "\f033";
        }

        .fa-text-height:before {
            content: "\f034";
        }

        .fa-text-width:before {
            content: "\f035";
        }

        .fa-align-left:before {
            content: "\f036";
        }

        .fa-align-center:before {
            content: "\f037";
        }

        .fa-align-right:before {
            content: "\f038";
        }

        .fa-align-justify:before {
            content: "\f039";
        }

        .fa-list:before {
            content: "\f03a";
        }

        .fa-dedent:before,
        .fa-outdent:before {
            content: "\f03b";
        }

        .fa-indent:before {
            content: "\f03c";
        }

        .fa-video-camera:before {
            content: "\f03d";
        }

        .fa-photo:before,
        .fa-image:before,
        .fa-picture-o:before {
            content: "\f03e";
        }

        .fa-pencil:before {
            content: "\f040";
        }

        .fa-map-marker:before {
            content: "\f041";
        }

        .fa-adjust:before {
            content: "\f042";
        }

        .fa-tint:before {
            content: "\f043";
        }

        .fa-edit:before,
        .fa-pencil-square-o:before {
            content: "\f044";
        }

        .fa-share-square-o:before {
            content: "\f045";
        }

        .fa-check-square-o:before {
            content: "\f046";
        }

        .fa-arrows:before {
            content: "\f047";
        }

        .fa-step-backward:before {
            content: "\f048";
        }

        .fa-fast-backward:before {
            content: "\f049";
        }

        .fa-backward:before {
            content: "\f04a";
        }

        .fa-play:before {
            content: "\f04b";
        }

        .fa-pause:before {
            content: "\f04c";
        }

        .fa-stop:before {
            content: "\f04d";
        }

        .fa-forward:before {
            content: "\f04e";
        }

        .fa-fast-forward:before {
            content: "\f050";
        }

        .fa-step-forward:before {
            content: "\f051";
        }

        .fa-eject:before {
            content: "\f052";
        }

        .fa-chevron-left:before {
            content: "\f053";
        }

        .fa-chevron-right:before {
            content: "\f054";
        }

        .fa-plus-circle:before {
            content: "\f055";
        }

        .fa-minus-circle:before {
            content: "\f056";
        }

        .fa-times-circle:before {
            content: "\f057";
        }

        .fa-check-circle:before {
            content: "\f058";
        }

        .fa-question-circle:before {
            content: "\f059";
        }

        .fa-info-circle:before {
            content: "\f05a";
        }

        .fa-crosshairs:before {
            content: "\f05b";
        }

        .fa-times-circle-o:before {
            content: "\f05c";
        }

        .fa-check-circle-o:before {
            content: "\f05d";
        }

        .fa-ban:before {
            content: "\f05e";
        }

        .fa-arrow-left:before {
            content: "\f060";
        }

        .fa-arrow-right:before {
            content: "\f061";
        }

        .fa-arrow-up:before {
            content: "\f062";
        }

        .fa-arrow-down:before {
            content: "\f063";
        }

        .fa-mail-forward:before,
        .fa-share:before {
            content: "\f064";
        }

        .fa-expand:before {
            content: "\f065";
        }

        .fa-compress:before {
            content: "\f066";
        }

        .fa-plus:before {
            content: "\f067";
        }

        .fa-minus:before {
            content: "\f068";
        }

        .fa-asterisk:before {
            content: "\f069";
        }

        .fa-exclamation-circle:before {
            content: "\f06a";
        }

        .fa-gift:before {
            content: "\f06b";
        }

        .fa-leaf:before {
            content: "\f06c";
        }

        .fa-fire:before {
            content: "\f06d";
        }

        .fa-eye:before {
            content: "\f06e";
        }

        .fa-eye-slash:before {
            content: "\f070";
        }

        .fa-warning:before,
        .fa-exclamation-triangle:before {
            content: "\f071";
        }

        .fa-plane:before {
            content: "\f072";
        }

        .fa-calendar:before {
            content: "\f073";
        }

        .fa-random:before {
            content: "\f074";
        }

        .fa-comment:before {
            content: "\f075";
        }

        .fa-magnet:before {
            content: "\f076";
        }

        .fa-chevron-up:before {
            content: "\f077";
        }

        .fa-chevron-down:before {
            content: "\f078";
        }

        .fa-retweet:before {
            content: "\f079";
        }

        .fa-shopping-cart:before {
            content: "\f07a";
        }

        .fa-folder:before {
            content: "\f07b";
        }

        .fa-folder-open:before {
            content: "\f07c";
        }

        .fa-arrows-v:before {
            content: "\f07d";
        }

        .fa-arrows-h:before {
            content: "\f07e";
        }

        .fa-bar-chart-o:before,
        .fa-bar-chart:before {
            content: "\f080";
        }

        .fa-twitter-square:before {
            content: "\f081";
        }

        .fa-facebook-square:before {
            content: "\f082";
        }

        .fa-camera-retro:before {
            content: "\f083";
        }

        .fa-key:before {
            content: "\f084";
        }

        .fa-gears:before,
        .fa-cogs:before {
            content: "\f085";
        }

        .fa-comments:before {
            content: "\f086";
        }

        .fa-thumbs-o-up:before {
            content: "\f087";
        }

        .fa-thumbs-o-down:before {
            content: "\f088";
        }

        .fa-star-half:before {
            content: "\f089";
        }

        .fa-heart-o:before {
            content: "\f08a";
        }

        .fa-sign-out:before {
            content: "\f08b";
        }

        .fa-linkedin-square:before {
            content: "\f08c";
        }

        .fa-thumb-tack:before {
            content: "\f08d";
        }

        .fa-external-link:before {
            content: "\f08e";
        }

        .fa-sign-in:before {
            content: "\f090";
        }

        .fa-trophy:before {
            content: "\f091";
        }

        .fa-github-square:before {
            content: "\f092";
        }

        .fa-upload:before {
            content: "\f093";
        }

        .fa-lemon-o:before {
            content: "\f094";
        }

        .fa-phone:before {
            content: "\f095";
        }

        .fa-square-o:before {
            content: "\f096";
        }

        .fa-bookmark-o:before {
            content: "\f097";
        }

        .fa-phone-square:before {
            content: "\f098";
        }

        .fa-twitter:before {
            content: "\f099";
        }

        .fa-facebook:before {
            content: "\f09a";
        }

        .fa-github:before {
            content: "\f09b";
        }

        .fa-unlock:before {
            content: "\f09c";
        }

        .fa-credit-card:before {
            content: "\f09d";
        }

        .fa-rss:before {
            content: "\f09e";
        }

        .fa-hdd-o:before {
            content: "\f0a0";
        }

        .fa-bullhorn:before {
            content: "\f0a1";
        }

        .fa-bell:before {
            content: "\f0f3";
        }

        .fa-certificate:before {
            content: "\f0a3";
        }

        .fa-hand-o-right:before {
            content: "\f0a4";
        }

        .fa-hand-o-left:before {
            content: "\f0a5";
        }

        .fa-hand-o-up:before {
            content: "\f0a6";
        }

        .fa-hand-o-down:before {
            content: "\f0a7";
        }

        .fa-arrow-circle-left:before {
            content: "\f0a8";
        }

        .fa-arrow-circle-right:before {
            content: "\f0a9";
        }

        .fa-arrow-circle-up:before {
            content: "\f0aa";
        }

        .fa-arrow-circle-down:before {
            content: "\f0ab";
        }

        .fa-globe:before {
            content: "\f0ac";
        }

        .fa-wrench:before {
            content: "\f0ad";
        }

        .fa-tasks:before {
            content: "\f0ae";
        }

        .fa-filter:before {
            content: "\f0b0";
        }

        .fa-briefcase:before {
            content: "\f0b1";
        }

        .fa-arrows-alt:before {
            content: "\f0b2";
        }

        .fa-group:before,
        .fa-users:before {
            content: "\f0c0";
        }

        .fa-chain:before,
        .fa-link:before {
            content: "\f0c1";
        }

        .fa-cloud:before {
            content: "\f0c2";
        }

        .fa-flask:before {
            content: "\f0c3";
        }

        .fa-cut:before,
        .fa-scissors:before {
            content: "\f0c4";
        }

        .fa-copy:before,
        .fa-files-o:before {
            content: "\f0c5";
        }

        .fa-paperclip:before {
            content: "\f0c6";
        }

        .fa-save:before,
        .fa-floppy-o:before {
            content: "\f0c7";
        }

        .fa-square:before {
            content: "\f0c8";
        }

        .fa-navicon:before,
        .fa-reorder:before,
        .fa-bars:before {
            content: "\f0c9";
        }

        .fa-list-ul:before {
            content: "\f0ca";
        }

        .fa-list-ol:before {
            content: "\f0cb";
        }

        .fa-strikethrough:before {
            content: "\f0cc";
        }

        .fa-underline:before {
            content: "\f0cd";
        }

        .fa-table:before {
            content: "\f0ce";
        }

        .fa-magic:before {
            content: "\f0d0";
        }

        .fa-truck:before {
            content: "\f0d1";
        }

        .fa-pinterest:before {
            content: "\f0d2";
        }

        .fa-pinterest-square:before {
            content: "\f0d3";
        }

        .fa-google-plus-square:before {
            content: "\f0d4";
        }

        .fa-google-plus:before {
            content: "\f0d5";
        }

        .fa-money:before {
            content: "\f0d6";
        }

        .fa-caret-down:before {
            content: "\f0d7";
        }

        .fa-caret-up:before {
            content: "\f0d8";
        }

        .fa-caret-left:before {
            content: "\f0d9";
        }

        .fa-caret-right:before {
            content: "\f0da";
        }

        .fa-columns:before {
            content: "\f0db";
        }

        .fa-unsorted:before,
        .fa-sort:before {
            content: "\f0dc";
        }

        .fa-sort-down:before,
        .fa-sort-desc:before {
            content: "\f0dd";
        }

        .fa-sort-up:before,
        .fa-sort-asc:before {
            content: "\f0de";
        }

        .fa-envelope:before {
            content: "\f0e0";
        }

        .fa-linkedin:before {
            content: "\f0e1";
        }

        .fa-rotate-left:before,
        .fa-undo:before {
            content: "\f0e2";
        }

        .fa-legal:before,
        .fa-gavel:before {
            content: "\f0e3";
        }

        .fa-dashboard:before,
        .fa-tachometer:before {
            content: "\f0e4";
        }

        .fa-comment-o:before {
            content: "\f0e5";
        }

        .fa-comments-o:before {
            content: "\f0e6";
        }

        .fa-flash:before,
        .fa-bolt:before {
            content: "\f0e7";
        }

        .fa-sitemap:before {
            content: "\f0e8";
        }

        .fa-umbrella:before {
            content: "\f0e9";
        }

        .fa-paste:before,
        .fa-clipboard:before {
            content: "\f0ea";
        }

        .fa-lightbulb-o:before {
            content: "\f0eb";
        }

        .fa-exchange:before {
            content: "\f0ec";
        }

        .fa-cloud-download:before {
            content: "\f0ed";
        }

        .fa-cloud-upload:before {
            content: "\f0ee";
        }

        .fa-user-md:before {
            content: "\f0f0";
        }

        .fa-stethoscope:before {
            content: "\f0f1";
        }

        .fa-suitcase:before {
            content: "\f0f2";
        }

        .fa-bell-o:before {
            content: "\f0a2";
        }

        .fa-coffee:before {
            content: "\f0f4";
        }

        .fa-cutlery:before {
            content: "\f0f5";
        }

        .fa-file-text-o:before {
            content: "\f0f6";
        }

        .fa-building-o:before {
            content: "\f0f7";
        }

        .fa-hospital-o:before {
            content: "\f0f8";
        }

        .fa-ambulance:before {
            content: "\f0f9";
        }

        .fa-medkit:before {
            content: "\f0fa";
        }

        .fa-fighter-jet:before {
            content: "\f0fb";
        }

        .fa-beer:before {
            content: "\f0fc";
        }

        .fa-h-square:before {
            content: "\f0fd";
        }

        .fa-plus-square:before {
            content: "\f0fe";
        }

        .fa-angle-double-left:before {
            content: "\f100";
        }

        .fa-angle-double-right:before {
            content: "\f101";
        }

        .fa-angle-double-up:before {
            content: "\f102";
        }

        .fa-angle-double-down:before {
            content: "\f103";
        }

        .fa-angle-left:before {
            content: "\f104";
        }

        .fa-angle-right:before {
            content: "\f105";
        }

        .fa-angle-up:before {
            content: "\f106";
        }

        .fa-angle-down:before {
            content: "\f107";
        }

        .fa-desktop:before {
            content: "\f108";
        }

        .fa-laptop:before {
            content: "\f109";
        }

        .fa-tablet:before {
            content: "\f10a";
        }

        .fa-mobile-phone:before,
        .fa-mobile:before {
            content: "\f10b";
        }

        .fa-circle-o:before {
            content: "\f10c";
        }

        .fa-quote-left:before {
            content: "\f10d";
        }

        .fa-quote-right:before {
            content: "\f10e";
        }

        .fa-spinner:before {
            content: "\f110";
        }

        .fa-circle:before {
            content: "\f111";
        }

        .fa-mail-reply:before,
        .fa-reply:before {
            content: "\f112";
        }

        .fa-github-alt:before {
            content: "\f113";
        }

        .fa-folder-o:before {
            content: "\f114";
        }

        .fa-folder-open-o:before {
            content: "\f115";
        }

        .fa-smile-o:before {
            content: "\f118";
        }

        .fa-frown-o:before {
            content: "\f119";
        }

        .fa-meh-o:before {
            content: "\f11a";
        }

        .fa-gamepad:before {
            content: "\f11b";
        }

        .fa-keyboard-o:before {
            content: "\f11c";
        }

        .fa-flag-o:before {
            content: "\f11d";
        }

        .fa-flag-checkered:before {
            content: "\f11e";
        }

        .fa-terminal:before {
            content: "\f120";
        }

        .fa-code:before {
            content: "\f121";
        }

        .fa-mail-reply-all:before,
        .fa-reply-all:before {
            content: "\f122";
        }

        .fa-star-half-empty:before,
        .fa-star-half-full:before,
        .fa-star-half-o:before {
            content: "\f123";
        }

        .fa-location-arrow:before {
            content: "\f124";
        }

        .fa-crop:before {
            content: "\f125";
        }

        .fa-code-fork:before {
            content: "\f126";
        }

        .fa-unlink:before,
        .fa-chain-broken:before {
            content: "\f127";
        }

        .fa-question:before {
            content: "\f128";
        }

        .fa-info:before {
            content: "\f129";
        }

        .fa-exclamation:before {
            content: "\f12a";
        }

        .fa-superscript:before {
            content: "\f12b";
        }

        .fa-subscript:before {
            content: "\f12c";
        }

        .fa-eraser:before {
            content: "\f12d";
        }

        .fa-puzzle-piece:before {
            content: "\f12e";
        }

        .fa-microphone:before {
            content: "\f130";
        }

        .fa-microphone-slash:before {
            content: "\f131";
        }

        .fa-shield:before {
            content: "\f132";
        }

        .fa-calendar-o:before {
            content: "\f133";
        }

        .fa-fire-extinguisher:before {
            content: "\f134";
        }

        .fa-rocket:before {
            content: "\f135";
        }

        .fa-maxcdn:before {
            content: "\f136";
        }

        .fa-chevron-circle-left:before {
            content: "\f137";
        }

        .fa-chevron-circle-right:before {
            content: "\f138";
        }

        .fa-chevron-circle-up:before {
            content: "\f139";
        }

        .fa-chevron-circle-down:before {
            content: "\f13a";
        }

        .fa-html5:before {
            content: "\f13b";
        }

        .fa-css3:before {
            content: "\f13c";
        }

        .fa-anchor:before {
            content: "\f13d";
        }

        .fa-unlock-alt:before {
            content: "\f13e";
        }

        .fa-bullseye:before {
            content: "\f140";
        }

        .fa-ellipsis-h:before {
            content: "\f141";
        }

        .fa-ellipsis-v:before {
            content: "\f142";
        }

        .fa-rss-square:before {
            content: "\f143";
        }

        .fa-play-circle:before {
            content: "\f144";
        }

        .fa-ticket:before {
            content: "\f145";
        }

        .fa-minus-square:before {
            content: "\f146";
        }

        .fa-minus-square-o:before {
            content: "\f147";
        }

        .fa-level-up:before {
            content: "\f148";
        }

        .fa-level-down:before {
            content: "\f149";
        }

        .fa-check-square:before {
            content: "\f14a";
        }

        .fa-pencil-square:before {
            content: "\f14b";
        }

        .fa-external-link-square:before {
            content: "\f14c";
        }

        .fa-share-square:before {
            content: "\f14d";
        }

        .fa-compass:before {
            content: "\f14e";
        }

        .fa-toggle-down:before,
        .fa-caret-square-o-down:before {
            content: "\f150";
        }

        .fa-toggle-up:before,
        .fa-caret-square-o-up:before {
            content: "\f151";
        }

        .fa-toggle-right:before,
        .fa-caret-square-o-right:before {
            content: "\f152";
        }

        .fa-euro:before,
        .fa-eur:before {
            content: "\f153";
        }

        .fa-gbp:before {
            content: "\f154";
        }

        .fa-dollar:before,
        .fa-usd:before {
            content: "\f155";
        }

        .fa-rupee:before,
        .fa-inr:before {
            content: "\f156";
        }

        .fa-cny:before,
        .fa-rmb:before,
        .fa-yen:before,
        .fa-jpy:before {
            content: "\f157";
        }

        .fa-ruble:before,
        .fa-rouble:before,
        .fa-rub:before {
            content: "\f158";
        }

        .fa-won:before,
        .fa-krw:before {
            content: "\f159";
        }

        .fa-bitcoin:before,
        .fa-btc:before {
            content: "\f15a";
        }

        .fa-file:before {
            content: "\f15b";
        }

        .fa-file-text:before {
            content: "\f15c";
        }

        .fa-sort-alpha-asc:before {
            content: "\f15d";
        }

        .fa-sort-alpha-desc:before {
            content: "\f15e";
        }

        .fa-sort-amount-asc:before {
            content: "\f160";
        }

        .fa-sort-amount-desc:before {
            content: "\f161";
        }

        .fa-sort-numeric-asc:before {
            content: "\f162";
        }

        .fa-sort-numeric-desc:before {
            content: "\f163";
        }

        .fa-thumbs-up:before {
            content: "\f164";
        }

        .fa-thumbs-down:before {
            content: "\f165";
        }

        .fa-youtube-square:before {
            content: "\f166";
        }

        .fa-youtube:before {
            content: "\f167";
        }

        .fa-xing:before {
            content: "\f168";
        }

        .fa-xing-square:before {
            content: "\f169";
        }

        .fa-youtube-play:before {
            content: "\f16a";
        }

        .fa-dropbox:before {
            content: "\f16b";
        }

        .fa-stack-overflow:before {
            content: "\f16c";
        }

        .fa-instagram:before {
            content: "\f16d";
        }

        .fa-flickr:before {
            content: "\f16e";
        }

        .fa-adn:before {
            content: "\f170";
        }

        .fa-bitbucket:before {
            content: "\f171";
        }

        .fa-bitbucket-square:before {
            content: "\f172";
        }

        .fa-tumblr:before {
            content: "\f173";
        }

        .fa-tumblr-square:before {
            content: "\f174";
        }

        .fa-long-arrow-down:before {
            content: "\f175";
        }

        .fa-long-arrow-up:before {
            content: "\f176";
        }

        .fa-long-arrow-left:before {
            content: "\f177";
        }

        .fa-long-arrow-right:before {
            content: "\f178";
        }

        .fa-apple:before {
            content: "\f179";
        }

        .fa-windows:before {
            content: "\f17a";
        }

        .fa-android:before {
            content: "\f17b";
        }

        .fa-linux:before {
            content: "\f17c";
        }

        .fa-dribbble:before {
            content: "\f17d";
        }

        .fa-skype:before {
            content: "\f17e";
        }

        .fa-foursquare:before {
            content: "\f180";
        }

        .fa-trello:before {
            content: "\f181";
        }

        .fa-female:before {
            content: "\f182";
        }

        .fa-male:before {
            content: "\f183";
        }

        .fa-gittip:before {
            content: "\f184";
        }

        .fa-sun-o:before {
            content: "\f185";
        }

        .fa-moon-o:before {
            content: "\f186";
        }

        .fa-archive:before {
            content: "\f187";
        }

        .fa-bug:before {
            content: "\f188";
        }

        .fa-vk:before {
            content: "\f189";
        }

        .fa-weibo:before {
            content: "\f18a";
        }

        .fa-renren:before {
            content: "\f18b";
        }

        .fa-pagelines:before {
            content: "\f18c";
        }

        .fa-stack-exchange:before {
            content: "\f18d";
        }

        .fa-arrow-circle-o-right:before {
            content: "\f18e";
        }

        .fa-arrow-circle-o-left:before {
            content: "\f190";
        }

        .fa-toggle-left:before,
        .fa-caret-square-o-left:before {
            content: "\f191";
        }

        .fa-dot-circle-o:before {
            content: "\f192";
        }

        .fa-wheelchair:before {
            content: "\f193";
        }

        .fa-vimeo-square:before {
            content: "\f194";
        }

        .fa-turkish-lira:before,
        .fa-try:before {
            content: "\f195";
        }

        .fa-plus-square-o:before {
            content: "\f196";
        }

        .fa-space-shuttle:before {
            content: "\f197";
        }

        .fa-slack:before {
            content: "\f198";
        }

        .fa-envelope-square:before {
            content: "\f199";
        }

        .fa-wordpress:before {
            content: "\f19a";
        }

        .fa-openid:before {
            content: "\f19b";
        }

        .fa-institution:before,
        .fa-bank:before,
        .fa-university:before {
            content: "\f19c";
        }

        .fa-mortar-board:before,
        .fa-graduation-cap:before {
            content: "\f19d";
        }

        .fa-yahoo:before {
            content: "\f19e";
        }

        .fa-google:before {
            content: "\f1a0";
        }

        .fa-reddit:before {
            content: "\f1a1";
        }

        .fa-reddit-square:before {
            content: "\f1a2";
        }

        .fa-stumbleupon-circle:before {
            content: "\f1a3";
        }

        .fa-stumbleupon:before {
            content: "\f1a4";
        }

        .fa-delicious:before {
            content: "\f1a5";
        }

        .fa-digg:before {
            content: "\f1a6";
        }

        .fa-pied-piper:before {
            content: "\f1a7";
        }

        .fa-pied-piper-alt:before {
            content: "\f1a8";
        }

        .fa-drupal:before {
            content: "\f1a9";
        }

        .fa-joomla:before {
            content: "\f1aa";
        }

        .fa-language:before {
            content: "\f1ab";
        }

        .fa-fax:before {
            content: "\f1ac";
        }

        .fa-building:before {
            content: "\f1ad";
        }

        .fa-child:before {
            content: "\f1ae";
        }

        .fa-paw:before {
            content: "\f1b0";
        }

        .fa-spoon:before {
            content: "\f1b1";
        }

        .fa-cube:before {
            content: "\f1b2";
        }

        .fa-cubes:before {
            content: "\f1b3";
        }

        .fa-behance:before {
            content: "\f1b4";
        }

        .fa-behance-square:before {
            content: "\f1b5";
        }

        .fa-steam:before {
            content: "\f1b6";
        }

        .fa-steam-square:before {
            content: "\f1b7";
        }

        .fa-recycle:before {
            content: "\f1b8";
        }

        .fa-automobile:before,
        .fa-car:before {
            content: "\f1b9";
        }

        .fa-cab:before,
        .fa-taxi:before {
            content: "\f1ba";
        }

        .fa-tree:before {
            content: "\f1bb";
        }

        .fa-spotify:before {
            content: "\f1bc";
        }

        .fa-deviantart:before {
            content: "\f1bd";
        }

        .fa-soundcloud:before {
            content: "\f1be";
        }

        .fa-database:before {
            content: "\f1c0";
        }

        .fa-file-pdf-o:before {
            content: "\f1c1";
        }

        .fa-file-word-o:before {
            content: "\f1c2";
        }

        .fa-file-excel-o:before {
            content: "\f1c3";
        }

        .fa-file-powerpoint-o:before {
            content: "\f1c4";
        }

        .fa-file-photo-o:before,
        .fa-file-picture-o:before,
        .fa-file-image-o:before {
            content: "\f1c5";
        }

        .fa-file-zip-o:before,
        .fa-file-archive-o:before {
            content: "\f1c6";
        }

        .fa-file-sound-o:before,
        .fa-file-audio-o:before {
            content: "\f1c7";
        }

        .fa-file-movie-o:before,
        .fa-file-video-o:before {
            content: "\f1c8";
        }

        .fa-file-code-o:before {
            content: "\f1c9";
        }

        .fa-vine:before {
            content: "\f1ca";
        }

        .fa-codepen:before {
            content: "\f1cb";
        }

        .fa-jsfiddle:before {
            content: "\f1cc";
        }

        .fa-life-bouy:before,
        .fa-life-buoy:before,
        .fa-life-saver:before,
        .fa-support:before,
        .fa-life-ring:before {
            content: "\f1cd";
        }

        .fa-circle-o-notch:before {
            content: "\f1ce";
        }

        .fa-ra:before,
        .fa-rebel:before {
            content: "\f1d0";
        }

        .fa-ge:before,
        .fa-empire:before {
            content: "\f1d1";
        }

        .fa-git-square:before {
            content: "\f1d2";
        }

        .fa-git:before {
            content: "\f1d3";
        }

        .fa-hacker-news:before {
            content: "\f1d4";
        }

        .fa-tencent-weibo:before {
            content: "\f1d5";
        }

        .fa-qq:before {
            content: "\f1d6";
        }

        .fa-wechat:before,
        .fa-weixin:before {
            content: "\f1d7";
        }

        .fa-send:before,
        .fa-paper-plane:before {
            content: "\f1d8";
        }

        .fa-send-o:before,
        .fa-paper-plane-o:before {
            content: "\f1d9";
        }

        .fa-history:before {
            content: "\f1da";
        }

        .fa-circle-thin:before {
            content: "\f1db";
        }

        .fa-header:before {
            content: "\f1dc";
        }

        .fa-paragraph:before {
            content: "\f1dd";
        }

        .fa-sliders:before {
            content: "\f1de";
        }

        .fa-share-alt:before {
            content: "\f1e0";
        }

        .fa-share-alt-square:before {
            content: "\f1e1";
        }

        .fa-bomb:before {
            content: "\f1e2";
        }

        .fa-soccer-ball-o:before,
        .fa-futbol-o:before {
            content: "\f1e3";
        }

        .fa-tty:before {
            content: "\f1e4";
        }

        .fa-binoculars:before {
            content: "\f1e5";
        }

        .fa-plug:before {
            content: "\f1e6";
        }

        .fa-slideshare:before {
            content: "\f1e7";
        }

        .fa-twitch:before {
            content: "\f1e8";
        }

        .fa-yelp:before {
            content: "\f1e9";
        }

        .fa-newspaper-o:before {
            content: "\f1ea";
        }

        .fa-wifi:before {
            content: "\f1eb";
        }

        .fa-calculator:before {
            content: "\f1ec";
        }

        .fa-paypal:before {
            content: "\f1ed";
        }

        .fa-google-wallet:before {
            content: "\f1ee";
        }

        .fa-cc-visa:before {
            content: "\f1f0";
        }

        .fa-cc-mastercard:before {
            content: "\f1f1";
        }

        .fa-cc-discover:before {
            content: "\f1f2";
        }

        .fa-cc-amex:before {
            content: "\f1f3";
        }

        .fa-cc-paypal:before {
            content: "\f1f4";
        }

        .fa-cc-stripe:before {
            content: "\f1f5";
        }

        .fa-bell-slash:before {
            content: "\f1f6";
        }

        .fa-bell-slash-o:before {
            content: "\f1f7";
        }

        .fa-trash:before {
            content: "\f1f8";
        }

        .fa-copyright:before {
            content: "\f1f9";
        }

        .fa-at:before {
            content: "\f1fa";
        }

        .fa-eyedropper:before {
            content: "\f1fb";
        }

        .fa-paint-brush:before {
            content: "\f1fc";
        }

        .fa-birthday-cake:before {
            content: "\f1fd";
        }

        .fa-area-chart:before {
            content: "\f1fe";
        }

        .fa-pie-chart:before {
            content: "\f200";
        }

        .fa-line-chart:before {
            content: "\f201";
        }

        .fa-lastfm:before {
            content: "\f202";
        }

        .fa-lastfm-square:before {
            content: "\f203";
        }

        .fa-toggle-off:before {
            content: "\f204";
        }

        .fa-toggle-on:before {
            content: "\f205";
        }

        .fa-bicycle:before {
            content: "\f206";
        }

        .fa-bus:before {
            content: "\f207";
        }

        .fa-ioxhost:before {
            content: "\f208";
        }

        .fa-angellist:before {
            content: "\f209";
        }

        .fa-cc:before {
            content: "\f20a";
        }

        .fa-shekel:before,
        .fa-sheqel:before,
        .fa-ils:before {
            content: "\f20b";
        }

        .fa-meanpath:before {
            content: "\f20c";
        }

        /*!
*
* IPython base
*
*/
        .modal.fade .modal-dialog {
            -webkit-transform: translate(0, 0);
            -ms-transform: translate(0, 0);
            -o-transform: translate(0, 0);
            transform: translate(0, 0);
        }

        code {
            color: #000;
        }

        pre {
            font-size: inherit;
            line-height: inherit;
        }

        label {
            font-weight: normal;
        }

        /* Make the page background atleast 100% the height of the view port */
        /* Make the page itself atleast 70% the height of the view port */
        .border-box-sizing {
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
        }

        .corner-all {
            border-radius: 2px;
        }

        .no-padding {
            padding: 0px;
        }

        /* Flexible box model classes */
        /* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
        /* This file is a compatability layer.  It allows the usage of flexible box
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
        .hbox {
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: horizontal;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: horizontal;
            -moz-box-align: stretch;
            display: box;
            box-orient: horizontal;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: row;
            align-items: stretch;
        }

        .hbox > * {
            /* Old browsers */
            -webkit-box-flex: 0;
            -moz-box-flex: 0;
            box-flex: 0;
            /* Modern browsers */
            flex: none;
        }

        .vbox {
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: vertical;
            -moz-box-align: stretch;
            display: box;
            box-orient: vertical;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: column;
            align-items: stretch;
        }

        .vbox > * {
            /* Old browsers */
            -webkit-box-flex: 0;
            -moz-box-flex: 0;
            box-flex: 0;
            /* Modern browsers */
            flex: none;
        }

        .hbox.reverse,
        .vbox.reverse,
        .reverse {
            /* Old browsers */
            -webkit-box-direction: reverse;
            -moz-box-direction: reverse;
            box-direction: reverse;
            /* Modern browsers */
            flex-direction: row-reverse;
        }

        .hbox.box-flex0,
        .vbox.box-flex0,
        .box-flex0 {
            /* Old browsers */
            -webkit-box-flex: 0;
            -moz-box-flex: 0;
            box-flex: 0;
            /* Modern browsers */
            flex: none;
            width: auto;
        }

        .hbox.box-flex1,
        .vbox.box-flex1,
        .box-flex1 {
            /* Old browsers */
            -webkit-box-flex: 1;
            -moz-box-flex: 1;
            box-flex: 1;
            /* Modern browsers */
            flex: 1;
        }

        .hbox.box-flex,
        .vbox.box-flex,
        .box-flex {
            /* Old browsers */
            /* Old browsers */
            -webkit-box-flex: 1;
            -moz-box-flex: 1;
            box-flex: 1;
            /* Modern browsers */
            flex: 1;
        }

        .hbox.box-flex2,
        .vbox.box-flex2,
        .box-flex2 {
            /* Old browsers */
            -webkit-box-flex: 2;
            -moz-box-flex: 2;
            box-flex: 2;
            /* Modern browsers */
            flex: 2;
        }

        .box-group1 {
            /*  Deprecated */
            -webkit-box-flex-group: 1;
            -moz-box-flex-group: 1;
            box-flex-group: 1;
        }

        .box-group2 {
            /* Deprecated */
            -webkit-box-flex-group: 2;
            -moz-box-flex-group: 2;
            box-flex-group: 2;
        }

        .hbox.start,
        .vbox.start,
        .start {
            /* Old browsers */
            -webkit-box-pack: start;
            -moz-box-pack: start;
            box-pack: start;
            /* Modern browsers */
            justify-content: flex-start;
        }

        .hbox.end,
        .vbox.end,
        .end {
            /* Old browsers */
            -webkit-box-pack: end;
            -moz-box-pack: end;
            box-pack: end;
            /* Modern browsers */
            justify-content: flex-end;
        }

        .hbox.center,
        .vbox.center,
        .center {
            /* Old browsers */
            -webkit-box-pack: center;
            -moz-box-pack: center;
            box-pack: center;
            /* Modern browsers */
            justify-content: center;
        }

        .hbox.baseline,
        .vbox.baseline,
        .baseline {
            /* Old browsers */
            -webkit-box-pack: baseline;
            -moz-box-pack: baseline;
            box-pack: baseline;
            /* Modern browsers */
            justify-content: baseline;
        }

        .hbox.stretch,
        .vbox.stretch,
        .stretch {
            /* Old browsers */
            -webkit-box-pack: stretch;
            -moz-box-pack: stretch;
            box-pack: stretch;
            /* Modern browsers */
            justify-content: stretch;
        }

        .hbox.align-start,
        .vbox.align-start,
        .align-start {
            /* Old browsers */
            -webkit-box-align: start;
            -moz-box-align: start;
            box-align: start;
            /* Modern browsers */
            align-items: flex-start;
        }

        .hbox.align-end,
        .vbox.align-end,
        .align-end {
            /* Old browsers */
            -webkit-box-align: end;
            -moz-box-align: end;
            box-align: end;
            /* Modern browsers */
            align-items: flex-end;
        }

        .hbox.align-center,
        .vbox.align-center,
        .align-center {
            /* Old browsers */
            -webkit-box-align: center;
            -moz-box-align: center;
            box-align: center;
            /* Modern browsers */
            align-items: center;
        }

        .hbox.align-baseline,
        .vbox.align-baseline,
        .align-baseline {
            /* Old browsers */
            -webkit-box-align: baseline;
            -moz-box-align: baseline;
            box-align: baseline;
            /* Modern browsers */
            align-items: baseline;
        }

        .hbox.align-stretch,
        .vbox.align-stretch,
        .align-stretch {
            /* Old browsers */
            -webkit-box-align: stretch;
            -moz-box-align: stretch;
            box-align: stretch;
            /* Modern browsers */
            align-items: stretch;
        }

        div.error {
            margin: 2em;
            text-align: center;
        }

        div.error > h1 {
            font-size: 500%;
            line-height: normal;
        }

        div.error > p {
            font-size: 200%;
            line-height: normal;
        }

        div.traceback-wrapper {
            text-align: left;
            max-width: 800px;
            margin: auto;
        }

        /**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
        body {
            background-color: #fff;
            /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
            position: absolute;
            left: 0px;
            right: 0px;
            top: 0px;
            bottom: 0px;
            overflow: visible;
        }

        body > #header {
            /* Initially hidden to prevent FLOUC */
            display: none;
            background-color: #fff;
            /* Display over codemirror */
            position: relative;
            z-index: 100;
        }

        body > #header #header-container {
            padding-bottom: 5px;
            padding-top: 5px;
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
        }

        body > #header .header-bar {
            width: 100%;
            height: 1px;
            background: #e7e7e7;
            margin-bottom: -1px;
        }

        @media print {
            body > #header {
                display: none !important;
            }
        }

        #header-spacer {
            width: 100%;
            visibility: hidden;
        }

        @media print {
            #header-spacer {
                display: none;
            }
        }

        #ipython_notebook {
            padding-left: 0px;
            padding-top: 1px;
            padding-bottom: 1px;
        }

        @media (max-width: 991px) {
            #ipython_notebook {
                margin-left: 10px;
            }
        }

        #noscript {
            width: auto;
            padding-top: 16px;
            padding-bottom: 16px;
            text-align: center;
            font-size: 22px;
            color: red;
            font-weight: bold;
        }

        #ipython_notebook img {
            height: 28px;
        }

        #site {
            width: 100%;
            display: none;
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            overflow: auto;
        }

        @media print {
            #site {
                height: auto !important;
            }
        }

        /* Smaller buttons */
        .ui-button .ui-button-text {
            padding: 0.2em 0.8em;
            font-size: 77%;
        }

        input.ui-button {
            padding: 0.3em 0.9em;
        }

        span#login_widget {
            float: right;
        }

        span#login_widget > .button,
        #logout {
            color: #333;
            background-color: #fff;
            border-color: #ccc;
        }

        span#login_widget > .button:focus,
        #logout:focus,
        span#login_widget > .button.focus,
        #logout.focus {
            color: #333;
            background-color: #e6e6e6;
            border-color: #8c8c8c;
        }

        span#login_widget > .button:hover,
        #logout:hover {
            color: #333;
            background-color: #e6e6e6;
            border-color: #adadad;
        }

        span#login_widget > .button:active,
        #logout:active,
        span#login_widget > .button.active,
        #logout.active,
        .open > .dropdown-togglespan#login_widget > .button,
        .open > .dropdown-toggle#logout {
            color: #333;
            background-color: #e6e6e6;
            border-color: #adadad;
        }

        span#login_widget > .button:active:hover,
        #logout:active:hover,
        span#login_widget > .button.active:hover,
        #logout.active:hover,
        .open > .dropdown-togglespan#login_widget > .button:hover,
        .open > .dropdown-toggle#logout:hover,
        span#login_widget > .button:active:focus,
        #logout:active:focus,
        span#login_widget > .button.active:focus,
        #logout.active:focus,
        .open > .dropdown-togglespan#login_widget > .button:focus,
        .open > .dropdown-toggle#logout:focus,
        span#login_widget > .button:active.focus,
        #logout:active.focus,
        span#login_widget > .button.active.focus,
        #logout.active.focus,
        .open > .dropdown-togglespan#login_widget > .button.focus,
        .open > .dropdown-toggle#logout.focus {
            color: #333;
            background-color: #d4d4d4;
            border-color: #8c8c8c;
        }

        span#login_widget > .button:active,
        #logout:active,
        span#login_widget > .button.active,
        #logout.active,
        .open > .dropdown-togglespan#login_widget > .button,
        .open > .dropdown-toggle#logout {
            background-image: none;
        }

        span#login_widget > .button.disabled:hover,
        #logout.disabled:hover,
        span#login_widget > .button[disabled]:hover,
        #logout[disabled]:hover,
        fieldset[disabled] span#login_widget > .button:hover,
        fieldset[disabled] #logout:hover,
        span#login_widget > .button.disabled:focus,
        #logout.disabled:focus,
        span#login_widget > .button[disabled]:focus,
        #logout[disabled]:focus,
        fieldset[disabled] span#login_widget > .button:focus,
        fieldset[disabled] #logout:focus,
        span#login_widget > .button.disabled.focus,
        #logout.disabled.focus,
        span#login_widget > .button[disabled].focus,
        #logout[disabled].focus,
        fieldset[disabled] span#login_widget > .button.focus,
        fieldset[disabled] #logout.focus {
            background-color: #fff;
            border-color: #ccc;
        }

        span#login_widget > .button .badge,
        #logout .badge {
            color: #fff;
            background-color: #333;
        }

        .nav-header {
            text-transform: none;
        }

        #header > span {
            margin-top: 10px;
        }

        .modal_stretch .modal-dialog {
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: vertical;
            -moz-box-align: stretch;
            display: box;
            box-orient: vertical;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: column;
            align-items: stretch;
            min-height: 80vh;
        }

        .modal_stretch .modal-dialog .modal-body {
            max-height: calc(100vh - 200px);
            overflow: auto;
            flex: 1;
        }

        @media (min-width: 768px) {
            .modal .modal-dialog {
                width: 700px;
            }
        }

        @media (min-width: 768px) {
            select.form-control {
                margin-left: 12px;
                margin-right: 12px;
            }
        }

        /*!
*
* IPython auth
*
*/
        .center-nav {
            display: inline-block;
            margin-bottom: -4px;
        }

        /*!
*
* IPython tree view
*
*/
        /* We need an invisible input field on top of the sentense*/
        /* "Drag file onto the list ..." */
        .alternate_upload {
            background-color: none;
            display: inline;
        }

        .alternate_upload.form {
            padding: 0;
            margin: 0;
        }

        .alternate_upload input.fileinput {
            text-align: center;
            vertical-align: middle;
            display: inline;
            opacity: 0;
            z-index: 2;
            width: 12ex;
            margin-right: -12ex;
        }

        .alternate_upload .btn-upload {
            height: 22px;
        }

        /**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
        ul#tabs {
            margin-bottom: 4px;
        }

        ul#tabs a {
            padding-top: 6px;
            padding-bottom: 4px;
        }

        ul.breadcrumb a:focus,
        ul.breadcrumb a:hover {
            text-decoration: none;
        }

        ul.breadcrumb i.icon-home {
            font-size: 16px;
            margin-right: 4px;
        }

        ul.breadcrumb span {
            color: #5e5e5e;
        }

        .list_toolbar {
            padding: 4px 0 4px 0;
            vertical-align: middle;
        }

        .list_toolbar .tree-buttons {
            padding-top: 1px;
        }

        .dynamic-buttons {
            padding-top: 3px;
            display: inline-block;
        }

        .list_toolbar [class*="span"] {
            min-height: 24px;
        }

        .list_header {
            font-weight: bold;
            background-color: #EEE;
        }

        .list_placeholder {
            font-weight: bold;
            padding-top: 4px;
            padding-bottom: 4px;
            padding-left: 7px;
            padding-right: 7px;
        }

        .list_container {
            margin-top: 4px;
            margin-bottom: 20px;
            border: 1px solid #ddd;
            border-radius: 2px;
        }

        .list_container > div {
            border-bottom: 1px solid #ddd;
        }

        .list_container > div:hover .list-item {
            background-color: red;
        }

        .list_container > div:last-child {
            border: none;
        }

        .list_item:hover .list_item {
            background-color: #ddd;
        }

        .list_item a {
            text-decoration: none;
        }

        .list_item:hover {
            background-color: #fafafa;
        }

        .list_header > div,
        .list_item > div {
            padding-top: 4px;
            padding-bottom: 4px;
            padding-left: 7px;
            padding-right: 7px;
            line-height: 22px;
        }

        .list_header > div input,
        .list_item > div input {
            margin-right: 7px;
            margin-left: 14px;
            vertical-align: baseline;
            line-height: 22px;
            position: relative;
            top: -1px;
        }

        .list_header > div .item_link,
        .list_item > div .item_link {
            margin-left: -1px;
            vertical-align: baseline;
            line-height: 22px;
        }

        .new-file input[type=checkbox] {
            visibility: hidden;
        }

        .item_name {
            line-height: 22px;
            height: 24px;
        }

        .item_icon {
            font-size: 14px;
            color: #5e5e5e;
            margin-right: 7px;
            margin-left: 7px;
            line-height: 22px;
            vertical-align: baseline;
        }

        .item_buttons {
            line-height: 1em;
            margin-left: -5px;
        }

        .item_buttons .btn,
        .item_buttons .btn-group,
        .item_buttons .input-group {
            float: left;
        }

        .item_buttons > .btn,
        .item_buttons > .btn-group,
        .item_buttons > .input-group {
            margin-left: 5px;
        }

        .item_buttons .btn {
            min-width: 13ex;
        }

        .item_buttons .running-indicator {
            padding-top: 4px;
            color: #5cb85c;
        }

        .item_buttons .kernel-name {
            padding-top: 4px;
            color: #5bc0de;
            margin-right: 7px;
            float: left;
        }

        .toolbar_info {
            height: 24px;
            line-height: 24px;
        }

        .list_item input:not([type=checkbox]) {
            padding-top: 3px;
            padding-bottom: 3px;
            height: 22px;
            line-height: 14px;
            margin: 0px;
        }

        .highlight_text {
            color: blue;
        }

        #project_name {
            display: inline-block;
            padding-left: 7px;
            margin-left: -2px;
        }

        #project_name > .breadcrumb {
            padding: 0px;
            margin-bottom: 0px;
            background-color: transparent;
            font-weight: bold;
        }

        #tree-selector {
            padding-right: 0px;
        }

        #button-select-all {
            min-width: 50px;
        }

        #select-all {
            margin-left: 7px;
            margin-right: 2px;
        }

        .menu_icon {
            margin-right: 2px;
        }

        .tab-content .row {
            margin-left: 0px;
            margin-right: 0px;
        }

        .folder_icon:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f114";
        }

        .folder_icon:before.pull-left {
            margin-right: .3em;
        }

        .folder_icon:before.pull-right {
            margin-left: .3em;
        }

        .notebook_icon:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f02d";
            position: relative;
            top: -1px;
        }

        .notebook_icon:before.pull-left {
            margin-right: .3em;
        }

        .notebook_icon:before.pull-right {
            margin-left: .3em;
        }

        .running_notebook_icon:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f02d";
            position: relative;
            top: -1px;
            color: #5cb85c;
        }

        .running_notebook_icon:before.pull-left {
            margin-right: .3em;
        }

        .running_notebook_icon:before.pull-right {
            margin-left: .3em;
        }

        .file_icon:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f016";
            position: relative;
            top: -2px;
        }

        .file_icon:before.pull-left {
            margin-right: .3em;
        }

        .file_icon:before.pull-right {
            margin-left: .3em;
        }

        #notebook_toolbar .pull-right {
            padding-top: 0px;
            margin-right: -1px;
        }

        ul#new-menu {
            left: auto;
            right: 0;
        }

        .kernel-menu-icon {
            padding-right: 12px;
            width: 24px;
            content: "\f096";
        }

        .kernel-menu-icon:before {
            content: "\f096";
        }

        .kernel-menu-icon-current:before {
            content: "\f00c";
        }

        #tab_content {
            padding-top: 20px;
        }

        #running .panel-group .panel {
            margin-top: 3px;
            margin-bottom: 1em;
        }

        #running .panel-group .panel .panel-heading {
            background-color: #EEE;
            padding-top: 4px;
            padding-bottom: 4px;
            padding-left: 7px;
            padding-right: 7px;
            line-height: 22px;
        }

        #running .panel-group .panel .panel-heading a:focus,
        #running .panel-group .panel .panel-heading a:hover {
            text-decoration: none;
        }

        #running .panel-group .panel .panel-body {
            padding: 0px;
        }

        #running .panel-group .panel .panel-body .list_container {
            margin-top: 0px;
            margin-bottom: 0px;
            border: 0px;
            border-radius: 0px;
        }

        #running .panel-group .panel .panel-body .list_container .list_item {
            border-bottom: 1px solid #ddd;
        }

        #running .panel-group .panel .panel-body .list_container .list_item:last-child {
            border-bottom: 0px;
        }

        .delete-button {
            display: none;
        }

        .duplicate-button {
            display: none;
        }

        .rename-button {
            display: none;
        }

        .shutdown-button {
            display: none;
        }

        .dynamic-instructions {
            display: inline-block;
            padding-top: 4px;
        }

        /*!
*
* IPython text editor webapp
*
*/
        .selected-keymap i.fa {
            padding: 0px 5px;
        }

        .selected-keymap i.fa:before {
            content: "\f00c";
        }

        #mode-menu {
            overflow: auto;
            max-height: 20em;
        }

        .edit_app #header {
            -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
            box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
        }

        .edit_app #menubar .navbar {
            /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
            margin-bottom: -1px;
        }

        .dirty-indicator {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            width: 20px;
        }

        .dirty-indicator.pull-left {
            margin-right: .3em;
        }

        .dirty-indicator.pull-right {
            margin-left: .3em;
        }

        .dirty-indicator-dirty {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            width: 20px;
        }

        .dirty-indicator-dirty.pull-left {
            margin-right: .3em;
        }

        .dirty-indicator-dirty.pull-right {
            margin-left: .3em;
        }

        .dirty-indicator-clean {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            width: 20px;
        }

        .dirty-indicator-clean.pull-left {
            margin-right: .3em;
        }

        .dirty-indicator-clean.pull-right {
            margin-left: .3em;
        }

        .dirty-indicator-clean:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f00c";
        }

        .dirty-indicator-clean:before.pull-left {
            margin-right: .3em;
        }

        .dirty-indicator-clean:before.pull-right {
            margin-left: .3em;
        }

        #filename {
            font-size: 16pt;
            display: table;
            padding: 0px 5px;
        }

        #current-mode {
            padding-left: 5px;
            padding-right: 5px;
        }

        #texteditor-backdrop {
            padding-top: 20px;
            padding-bottom: 20px;
        }

        @media not print {
            #texteditor-backdrop {
                background-color: #EEE;
            }
        }

        @media print {
            #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
            #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
                background-color: #fff;
            }
        }

        @media not print {
            #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
            #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
                background-color: #fff;
            }
        }

        @media not print {
            #texteditor-backdrop #texteditor-container {
                padding: 0px;
                background-color: #fff;
                -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
                box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
            }
        }

        /*!
*
* IPython notebook
*
*/
        /* CSS font colors for translated ANSI colors. */
        .ansibold {
            font-weight: bold;
        }

        /* use dark versions for foreground, to improve visibility */
        .ansiblack {
            color: black;
        }

        .ansired {
            color: darkred;
        }

        .ansigreen {
            color: darkgreen;
        }

        .ansiyellow {
            color: #c4a000;
        }

        .ansiblue {
            color: darkblue;
        }

        .ansipurple {
            color: darkviolet;
        }

        .ansicyan {
            color: steelblue;
        }

        .ansigray {
            color: gray;
        }

        /* and light for background, for the same reason */
        .ansibgblack {
            background-color: black;
        }

        .ansibgred {
            background-color: red;
        }

        .ansibggreen {
            background-color: green;
        }

        .ansibgyellow {
            background-color: yellow;
        }

        .ansibgblue {
            background-color: blue;
        }

        .ansibgpurple {
            background-color: magenta;
        }

        .ansibgcyan {
            background-color: cyan;
        }

        .ansibggray {
            background-color: gray;
        }

        div.cell {
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: vertical;
            -moz-box-align: stretch;
            display: box;
            box-orient: vertical;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: column;
            align-items: stretch;
            border-radius: 2px;
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            border-width: 1px;
            border-style: solid;
            border-color: transparent;
            width: 100%;
            padding: 5px;
            /* This acts as a spacer between cells, that is outside the border */
            margin: 0px;
            outline: none;
            border-left-width: 1px;
            padding-left: 5px;
            background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
        }

        div.cell.jupyter-soft-selected {
            border-left-color: #90CAF9;
            border-left-color: #E3F2FD;
            border-left-width: 1px;
            padding-left: 5px;
            border-right-color: #E3F2FD;
            border-right-width: 1px;
            background: #E3F2FD;
        }

        @media print {
            div.cell.jupyter-soft-selected {
                border-color: transparent;
            }
        }

        div.cell.selected {
            border-color: #ababab;
            border-left-width: 0px;
            padding-left: 6px;
            background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
        }

        @media print {
            div.cell.selected {
                border-color: transparent;
            }
        }

        div.cell.selected.jupyter-soft-selected {
            border-left-width: 0;
            padding-left: 6px;
            background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
        }

        .edit_mode div.cell.selected {
            border-color: #66BB6A;
            border-left-width: 0px;
            padding-left: 6px;
            background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
        }

        @media print {
            .edit_mode div.cell.selected {
                border-color: transparent;
            }
        }

        .prompt {
            /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
            min-width: 14ex;
            /* This padding is tuned to match the padding on the CodeMirror editor. */
            padding: 0.4em;
            margin: 0px;
            font-family: monospace;
            text-align: right;
            /* This has to match that of the the CodeMirror class line-height below */
            line-height: 1.21429em;
            /* Don't highlight prompt number selection */
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            -khtml-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            /* Use default cursor */
            cursor: default;
        }

        @media (max-width: 540px) {
            .prompt {
                text-align: left;
            }
        }

        div.inner_cell {
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: vertical;
            -moz-box-align: stretch;
            display: box;
            box-orient: vertical;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: column;
            align-items: stretch;
            /* Old browsers */
            -webkit-box-flex: 1;
            -moz-box-flex: 1;
            box-flex: 1;
            /* Modern browsers */
            flex: 1;
        }

        @-moz-document url-prefix() {
            div.inner_cell {
                overflow-x: hidden;
            }
        }

        /* input_area and input_prompt must match in top border and margin for alignment */
        div.input_area {
            border: 1px solid #cfcfcf;
            border-radius: 2px;
            background: #f7f7f7;
            line-height: 1.21429em;
        }

        /* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
        div.prompt:empty {
            padding-top: 0;
            padding-bottom: 0;
        }

        div.unrecognized_cell {
            padding: 5px 5px 5px 0px;
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: horizontal;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: horizontal;
            -moz-box-align: stretch;
            display: box;
            box-orient: horizontal;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: row;
            align-items: stretch;
        }

        div.unrecognized_cell .inner_cell {
            border-radius: 2px;
            padding: 5px;
            font-weight: bold;
            color: red;
            border: 1px solid #cfcfcf;
            background: #eaeaea;
        }

        div.unrecognized_cell .inner_cell a {
            color: inherit;
            text-decoration: none;
        }

        div.unrecognized_cell .inner_cell a:hover {
            color: inherit;
            text-decoration: none;
        }

        @media (max-width: 540px) {
            div.unrecognized_cell > div.prompt {
                display: none;
            }
        }

        div.code_cell {
            /* avoid page breaking on code cells when printing */
        }

        @media print {
            div.code_cell {
                page-break-inside: avoid;
            }
        }

        /* any special styling for code cells that are currently running goes here */
        div.input {
            page-break-inside: avoid;
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: horizontal;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: horizontal;
            -moz-box-align: stretch;
            display: box;
            box-orient: horizontal;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: row;
            align-items: stretch;
        }

        @media (max-width: 540px) {
            div.input {
                /* Old browsers */
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-box-align: stretch;
                display: -moz-box;
                -moz-box-orient: vertical;
                -moz-box-align: stretch;
                display: box;
                box-orient: vertical;
                box-align: stretch;
                /* Modern browsers */
                display: flex;
                flex-direction: column;
                align-items: stretch;
            }
        }

        /* input_area and input_prompt must match in top border and margin for alignment */
        div.input_prompt {
            color: #303F9F;
            border-top: 1px solid transparent;
        }

        div.input_area > div.highlight {
            margin: 0.4em;
            border: none;
            padding: 0px;
            background-color: transparent;
        }

        div.input_area > div.highlight > pre {
            margin: 0px;
            border: none;
            padding: 0px;
            background-color: transparent;
        }

        /* The following gets added to the <head> if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
        .CodeMirror {
            line-height: 1.21429em;
            /* Changed from 1em to our global default */
            font-size: 14px;
            height: auto;
            /* Changed to auto to autogrow */
            background: none;
            /* Changed from white to allow our bg to show through */
        }

        .CodeMirror-scroll {
            /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
            /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
            overflow-y: hidden;
            overflow-x: auto;
        }

        .CodeMirror-lines {
            /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
            /* we have set a different line-height and want this to scale with that. */
            padding: 0.4em;
        }

        .CodeMirror-linenumber {
            padding: 0 8px 0 4px;
        }

        .CodeMirror-gutters {
            border-bottom-left-radius: 2px;
            border-top-left-radius: 2px;
        }

        .CodeMirror pre {
            /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
            /* .CodeMirror-lines */
            padding: 0;
            border: 0;
            border-radius: 0;
        }

        /*

Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme

*/
        .highlight-base {
            color: #000;
        }

        .highlight-variable {
            color: #000;
        }

        .highlight-variable-2 {
            color: #1a1a1a;
        }

        .highlight-variable-3 {
            color: #333333;
        }

        .highlight-string {
            color: #BA2121;
        }

        .highlight-comment {
            color: #408080;
            font-style: italic;
        }

        .highlight-number {
            color: #080;
        }

        .highlight-atom {
            color: #88F;
        }

        .highlight-keyword {
            color: #008000;
            font-weight: bold;
        }

        .highlight-builtin {
            color: #008000;
        }

        .highlight-error {
            color: #f00;
        }

        .highlight-operator {
            color: #AA22FF;
            font-weight: bold;
        }

        .highlight-meta {
            color: #AA22FF;
        }

        /* previously not defined, copying from default codemirror */
        .highlight-def {
            color: #00f;
        }

        .highlight-string-2 {
            color: #f50;
        }

        .highlight-qualifier {
            color: #555;
        }

        .highlight-bracket {
            color: #997;
        }

        .highlight-tag {
            color: #170;
        }

        .highlight-attribute {
            color: #00c;
        }

        .highlight-header {
            color: blue;
        }

        .highlight-quote {
            color: #090;
        }

        .highlight-link {
            color: #00c;
        }

        /* apply the same style to codemirror */
        .cm-s-ipython span.cm-keyword {
            color: #008000;
            font-weight: bold;
        }

        .cm-s-ipython span.cm-atom {
            color: #88F;
        }

        .cm-s-ipython span.cm-number {
            color: #080;
        }

        .cm-s-ipython span.cm-def {
            color: #00f;
        }

        .cm-s-ipython span.cm-variable {
            color: #000;
        }

        .cm-s-ipython span.cm-operator {
            color: #AA22FF;
            font-weight: bold;
        }

        .cm-s-ipython span.cm-variable-2 {
            color: #1a1a1a;
        }

        .cm-s-ipython span.cm-variable-3 {
            color: #333333;
        }

        .cm-s-ipython span.cm-comment {
            color: #408080;
            font-style: italic;
        }

        .cm-s-ipython span.cm-string {
            color: #BA2121;
        }

        .cm-s-ipython span.cm-string-2 {
            color: #f50;
        }

        .cm-s-ipython span.cm-meta {
            color: #AA22FF;
        }

        .cm-s-ipython span.cm-qualifier {
            color: #555;
        }

        .cm-s-ipython span.cm-builtin {
            color: #008000;
        }

        .cm-s-ipython span.cm-bracket {
            color: #997;
        }

        .cm-s-ipython span.cm-tag {
            color: #170;
        }

        .cm-s-ipython span.cm-attribute {
            color: #00c;
        }

        .cm-s-ipython span.cm-header {
            color: blue;
        }

        .cm-s-ipython span.cm-quote {
            color: #090;
        }

        .cm-s-ipython span.cm-link {
            color: #00c;
        }

        .cm-s-ipython span.cm-error {
            color: #f00;
        }

        .cm-s-ipython span.cm-tab {
            background: url();
            background-position: right;
            background-repeat: no-repeat;
        }

        div.output_wrapper {
            /* this position must be relative to enable descendents to be absolute within it */
            position: relative;
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: vertical;
            -moz-box-align: stretch;
            display: box;
            box-orient: vertical;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: column;
            align-items: stretch;
            z-index: 1;
        }

        /* class for the output area when it should be height-limited */
        div.output_scroll {
            /* ideally, this would be max-height, but FF barfs all over that */
            height: 24em;
            /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
            width: 100%;
            overflow: auto;
            border-radius: 2px;
            -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
            box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
            display: block;
        }

        /* output div while it is collapsed */
        div.output_collapsed {
            margin: 0px;
            padding: 0px;
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: vertical;
            -moz-box-align: stretch;
            display: box;
            box-orient: vertical;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: column;
            align-items: stretch;
        }

        div.out_prompt_overlay {
            height: 100%;
            padding: 0px 0.4em;
            position: absolute;
            border-radius: 2px;
        }

        div.out_prompt_overlay:hover {
            /* use inner shadow to get border that is computed the same on WebKit/FF */
            -webkit-box-shadow: inset 0 0 1px #000;
            box-shadow: inset 0 0 1px #000;
            background: rgba(240, 240, 240, 0.5);
        }

        div.output_prompt {
            color: #D84315;
        }

        /* This class is the outer container of all output sections. */
        div.output_area {
            padding: 0px;
            page-break-inside: avoid;
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: horizontal;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: horizontal;
            -moz-box-align: stretch;
            display: box;
            box-orient: horizontal;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: row;
            align-items: stretch;
        }

        div.output_area .MathJax_Display {
            text-align: left !important;
        }

        div.output_area .rendered_html table {
            margin-left: 0;
            margin-right: 0;
        }

        div.output_area .rendered_html img {
            margin-left: 0;
            margin-right: 0;
        }

        div.output_area img,
        div.output_area svg {
            max-width: 100%;
            height: auto;
        }

        div.output_area img.unconfined,
        div.output_area svg.unconfined {
            max-width: none;
        }

        /* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
        .output {
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: vertical;
            -moz-box-align: stretch;
            display: box;
            box-orient: vertical;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: column;
            align-items: stretch;
        }

        @media (max-width: 540px) {
            div.output_area {
                /* Old browsers */
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-box-align: stretch;
                display: -moz-box;
                -moz-box-orient: vertical;
                -moz-box-align: stretch;
                display: box;
                box-orient: vertical;
                box-align: stretch;
                /* Modern browsers */
                display: flex;
                flex-direction: column;
                align-items: stretch;
            }
        }

        div.output_area pre {
            margin: 0;
            padding: 0;
            border: 0;
            vertical-align: baseline;
            color: black;
            background-color: transparent;
            border-radius: 0;
        }

        /* This class is for the output subarea inside the output_area and after
   the prompt div. */
        div.output_subarea {
            overflow-x: auto;
            padding: 0.4em;
            /* Old browsers */
            -webkit-box-flex: 1;
            -moz-box-flex: 1;
            box-flex: 1;
            /* Modern browsers */
            flex: 1;
            max-width: calc(100% - 14ex);
        }

        div.output_scroll div.output_subarea {
            overflow-x: visible;
        }

        /* The rest of the output_* classes are for special styling of the different
   output types */
        /* all text output has this class: */
        div.output_text {
            text-align: left;
            color: #000;
            /* This has to match that of the the CodeMirror class line-height below */
            line-height: 1.21429em;
        }

        /* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
        div.output_stderr {
            background: #fdd;
            /* very light red background for stderr */
        }

        div.output_latex {
            text-align: left;
        }

        /* Empty output_javascript divs should have no height */
        div.output_javascript:empty {
            padding: 0;
        }

        .js-error {
            color: darkred;
        }

        /* raw_input styles */
        div.raw_input_container {
            line-height: 1.21429em;
            padding-top: 5px;
        }

        pre.raw_input_prompt {
            /* nothing needed here. */
        }

        input.raw_input {
            font-family: monospace;
            font-size: inherit;
            color: inherit;
            width: auto;
            /* make sure input baseline aligns with prompt */
            vertical-align: baseline;
            /* padding + margin = 0.5em between prompt and cursor */
            padding: 0em 0.25em;
            margin: 0em 0.25em;
        }

        input.raw_input:focus {
            box-shadow: none;
        }

        p.p-space {
            margin-bottom: 10px;
        }

        div.output_unrecognized {
            padding: 5px;
            font-weight: bold;
            color: red;
        }

        div.output_unrecognized a {
            color: inherit;
            text-decoration: none;
        }

        div.output_unrecognized a:hover {
            color: inherit;
            text-decoration: none;
        }

        .rendered_html {
            color: #000;
            /* any extras will just be numbers: */
        }

        .rendered_html em {
            font-style: italic;
        }

        .rendered_html strong {
            font-weight: bold;
        }

        .rendered_html u {
            text-decoration: underline;
        }

        .rendered_html :link {
            text-decoration: underline;
        }

        .rendered_html :visited {
            text-decoration: underline;
        }

        .rendered_html h1 {
            font-size: 185.7%;
            margin: 1.08em 0 0 0;
            font-weight: bold;
            line-height: 1.0;
        }

        .rendered_html h2 {
            font-size: 157.1%;
            margin: 1.27em 0 0 0;
            font-weight: bold;
            line-height: 1.0;
        }

        .rendered_html h3 {
            font-size: 128.6%;
            margin: 1.55em 0 0 0;
            font-weight: bold;
            line-height: 1.0;
        }

        .rendered_html h4 {
            font-size: 100%;
            margin: 2em 0 0 0;
            font-weight: bold;
            line-height: 1.0;
        }

        .rendered_html h5 {
            font-size: 100%;
            margin: 2em 0 0 0;
            font-weight: bold;
            line-height: 1.0;
            font-style: italic;
        }

        .rendered_html h6 {
            font-size: 100%;
            margin: 2em 0 0 0;
            font-weight: bold;
            line-height: 1.0;
            font-style: italic;
        }

        .rendered_html h1:first-child {
            margin-top: 0.538em;
        }

        .rendered_html h2:first-child {
            margin-top: 0.636em;
        }

        .rendered_html h3:first-child {
            margin-top: 0.777em;
        }

        .rendered_html h4:first-child {
            margin-top: 1em;
        }

        .rendered_html h5:first-child {
            margin-top: 1em;
        }

        .rendered_html h6:first-child {
            margin-top: 1em;
        }

        .rendered_html ul {
            list-style: disc;
            margin: 0em 2em;
            padding-left: 0px;
        }

        .rendered_html ul ul {
            list-style: square;
            margin: 0em 2em;
        }

        .rendered_html ul ul ul {
            list-style: circle;
            margin: 0em 2em;
        }

        .rendered_html ol {
            list-style: decimal;
            margin: 0em 2em;
            padding-left: 0px;
        }

        .rendered_html ol ol {
            list-style: upper-alpha;
            margin: 0em 2em;
        }

        .rendered_html ol ol ol {
            list-style: lower-alpha;
            margin: 0em 2em;
        }

        .rendered_html ol ol ol ol {
            list-style: lower-roman;
            margin: 0em 2em;
        }

        .rendered_html ol ol ol ol ol {
            list-style: decimal;
            margin: 0em 2em;
        }

        .rendered_html * + ul {
            margin-top: 1em;
        }

        .rendered_html * + ol {
            margin-top: 1em;
        }

        .rendered_html hr {
            color: black;
            background-color: black;
        }

        .rendered_html pre {
            margin: 1em 2em;
        }

        .rendered_html pre,
        .rendered_html code {
            border: 0;
            background-color: #fff;
            color: #000;
            font-size: 100%;
            padding: 0px;
        }

        .rendered_html blockquote {
            margin: 1em 2em;
        }

        .rendered_html table {
            margin-left: auto;
            margin-right: auto;
            border: 1px solid black;
            border-collapse: collapse;
        }

        .rendered_html tr,
        .rendered_html th,
        .rendered_html td {
            border: 1px solid black;
            border-collapse: collapse;
            margin: 1em 2em;
        }

        .rendered_html td,
        .rendered_html th {
            text-align: left;
            vertical-align: middle;
            padding: 4px;
        }

        .rendered_html th {
            font-weight: bold;
        }

        .rendered_html * + table {
            margin-top: 1em;
        }

        .rendered_html p {
            text-align: left;
        }

        .rendered_html * + p {
            margin-top: 1em;
        }

        .rendered_html img {
            display: block;
            margin-left: auto;
            margin-right: auto;
        }

        .rendered_html * + img {
            margin-top: 1em;
        }

        .rendered_html img,
        .rendered_html svg {
            max-width: 100%;
            height: auto;
        }

        .rendered_html img.unconfined,
        .rendered_html svg.unconfined {
            max-width: none;
        }

        div.text_cell {
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: horizontal;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: horizontal;
            -moz-box-align: stretch;
            display: box;
            box-orient: horizontal;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: row;
            align-items: stretch;
        }

        @media (max-width: 540px) {
            div.text_cell > div.prompt {
                display: none;
            }
        }

        div.text_cell_render {
            /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
            outline: none;
            resize: none;
            width: inherit;
            border-style: none;
            padding: 0.5em 0.5em 0.5em 0.4em;
            color: #000;
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
        }

        a.anchor-link:link {
            text-decoration: none;
            padding: 0px 20px;
            visibility: hidden;
        }

        h1:hover .anchor-link,
        h2:hover .anchor-link,
        h3:hover .anchor-link,
        h4:hover .anchor-link,
        h5:hover .anchor-link,
        h6:hover .anchor-link {
            visibility: visible;
        }

        .text_cell.rendered .input_area {
            display: none;
        }

        .text_cell.rendered .rendered_html {
            overflow-x: auto;
            overflow-y: hidden;
        }

        .text_cell.unrendered .text_cell_render {
            display: none;
        }

        .cm-header-1,
        .cm-header-2,
        .cm-header-3,
        .cm-header-4,
        .cm-header-5,
        .cm-header-6 {
            font-weight: bold;
            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        }

        .cm-header-1 {
            font-size: 185.7%;
        }

        .cm-header-2 {
            font-size: 157.1%;
        }

        .cm-header-3 {
            font-size: 128.6%;
        }

        .cm-header-4 {
            font-size: 110%;
        }

        .cm-header-5 {
            font-size: 100%;
            font-style: italic;
        }

        .cm-header-6 {
            font-size: 100%;
            font-style: italic;
        }

        /*!
*
* IPython notebook webapp
*
*/
        @media (max-width: 767px) {
            .notebook_app {
                padding-left: 0px;
                padding-right: 0px;
            }
        }

        #ipython-main-app {
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            height: 100%;
        }

        div#notebook_panel {
            margin: 0px;
            padding: 0px;
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            height: 100%;
        }

        div#notebook {
            font-size: 14px;
            line-height: 20px;
            overflow-y: hidden;
            overflow-x: auto;
            width: 100%;
            /* This spaces the page away from the edge of the notebook area */
            padding-top: 20px;
            margin: 0px;
            outline: none;
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            min-height: 100%;
        }

        @media not print {
            #notebook-container {
                padding: 15px;
                background-color: #fff;
                min-height: 0;
                -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
                box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
            }
        }

        @media print {
            #notebook-container {
                width: 100%;
            }
        }

        div.ui-widget-content {
            border: 1px solid #ababab;
            outline: none;
        }

        pre.dialog {
            background-color: #f7f7f7;
            border: 1px solid #ddd;
            border-radius: 2px;
            padding: 0.4em;
            padding-left: 2em;
        }

        p.dialog {
            padding: 0.2em;
        }

        /* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
        pre,
        code,
        kbd,
        samp {
            white-space: pre-wrap;
        }

        #fonttest {
            font-family: monospace;
        }

        p {
            margin-bottom: 0;
        }

        .end_space {
            min-height: 100px;
            transition: height .2s ease;
        }

        .notebook_app > #header {
            -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
            box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
        }

        @media not print {
            .notebook_app {
                background-color: #EEE;
            }
        }

        kbd {
            border-style: solid;
            border-width: 1px;
            box-shadow: none;
            margin: 2px;
            padding-left: 2px;
            padding-right: 2px;
            padding-top: 1px;
            padding-bottom: 1px;
        }

        /* CSS for the cell toolbar */
        .celltoolbar {
            border: thin solid #CFCFCF;
            border-bottom: none;
            background: #EEE;
            border-radius: 2px 2px 0px 0px;
            width: 100%;
            height: 29px;
            padding-right: 4px;
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: horizontal;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: horizontal;
            -moz-box-align: stretch;
            display: box;
            box-orient: horizontal;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: row;
            align-items: stretch;
            /* Old browsers */
            -webkit-box-pack: end;
            -moz-box-pack: end;
            box-pack: end;
            /* Modern browsers */
            justify-content: flex-end;
            display: -webkit-flex;
        }

        @media print {
            .celltoolbar {
                display: none;
            }
        }

        .ctb_hideshow {
            display: none;
            vertical-align: bottom;
        }

        /* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
        .ctb_global_show .ctb_show.ctb_hideshow {
            display: block;
        }

        .ctb_global_show .ctb_show + .input_area,
        .ctb_global_show .ctb_show + div.text_cell_input,
        .ctb_global_show .ctb_show ~ div.text_cell_render {
            border-top-right-radius: 0px;
            border-top-left-radius: 0px;
        }

        .ctb_global_show .ctb_show ~ div.text_cell_render {
            border: 1px solid #cfcfcf;
        }

        .celltoolbar {
            font-size: 87%;
            padding-top: 3px;
        }

        .celltoolbar select {
            display: block;
            width: 100%;
            height: 32px;
            padding: 6px 12px;
            font-size: 13px;
            line-height: 1.42857143;
            color: #555555;
            background-color: #fff;
            background-image: none;
            border: 1px solid #ccc;
            border-radius: 2px;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
            -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
            transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
            height: 30px;
            padding: 5px 10px;
            font-size: 12px;
            line-height: 1.5;
            border-radius: 1px;
            width: inherit;
            font-size: inherit;
            height: 22px;
            padding: 0px;
            display: inline-block;
        }

        .celltoolbar select:focus {
            border-color: #66afe9;
            outline: 0;
            -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
        }

        .celltoolbar select::-moz-placeholder {
            color: #999;
            opacity: 1;
        }

        .celltoolbar select:-ms-input-placeholder {
            color: #999;
        }

        .celltoolbar select::-webkit-input-placeholder {
            color: #999;
        }

        .celltoolbar select::-ms-expand {
            border: 0;
            background-color: transparent;
        }

        .celltoolbar select[disabled],
        .celltoolbar select[readonly],
        fieldset[disabled] .celltoolbar select {
            background-color: #eeeeee;
            opacity: 1;
        }

        .celltoolbar select[disabled],
        fieldset[disabled] .celltoolbar select {
            cursor: not-allowed;
        }

        textarea.celltoolbar select {
            height: auto;
        }

        select.celltoolbar select {
            height: 30px;
            line-height: 30px;
        }

        textarea.celltoolbar select,
        select[multiple].celltoolbar select {
            height: auto;
        }

        .celltoolbar label {
            margin-left: 5px;
            margin-right: 5px;
        }

        .completions {
            position: absolute;
            z-index: 110;
            overflow: hidden;
            border: 1px solid #ababab;
            border-radius: 2px;
            -webkit-box-shadow: 0px 6px 10px -1px #adadad;
            box-shadow: 0px 6px 10px -1px #adadad;
            line-height: 1;
        }

        .completions select {
            background: white;
            outline: none;
            border: none;
            padding: 0px;
            margin: 0px;
            overflow: auto;
            font-family: monospace;
            font-size: 110%;
            color: #000;
            width: auto;
        }

        .completions select option.context {
            color: #286090;
        }

        #kernel_logo_widget {
            float: right !important;
            float: right;
        }

        #kernel_logo_widget .current_kernel_logo {
            display: none;
            margin-top: -1px;
            margin-bottom: -1px;
            width: 32px;
            height: 32px;
        }

        #menubar {
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            margin-top: 1px;
        }

        #menubar .navbar {
            border-top: 1px;
            border-radius: 0px 0px 2px 2px;
            margin-bottom: 0px;
        }

        #menubar .navbar-toggle {
            float: left;
            padding-top: 7px;
            padding-bottom: 7px;
            border: none;
        }

        #menubar .navbar-collapse {
            clear: left;
        }

        .nav-wrapper {
            border-bottom: 1px solid #e7e7e7;
        }

        i.menu-icon {
            padding-top: 4px;
        }

        ul#help_menu li a {
            overflow: hidden;
            padding-right: 2.2em;
        }

        ul#help_menu li a i {
            margin-right: -1.2em;
        }

        .dropdown-submenu {
            position: relative;
        }

        .dropdown-submenu > .dropdown-menu {
            top: 0;
            left: 100%;
            margin-top: -6px;
            margin-left: -1px;
        }

        .dropdown-submenu:hover > .dropdown-menu {
            display: block;
        }

        .dropdown-submenu > a:after {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            display: block;
            content: "\f0da";
            float: right;
            color: #333333;
            margin-top: 2px;
            margin-right: -10px;
        }

        .dropdown-submenu > a:after.pull-left {
            margin-right: .3em;
        }

        .dropdown-submenu > a:after.pull-right {
            margin-left: .3em;
        }

        .dropdown-submenu:hover > a:after {
            color: #262626;
        }

        .dropdown-submenu.pull-left {
            float: none;
        }

        .dropdown-submenu.pull-left > .dropdown-menu {
            left: -100%;
            margin-left: 10px;
        }

        #notification_area {
            float: right !important;
            float: right;
            z-index: 10;
        }

        .indicator_area {
            float: right !important;
            float: right;
            color: #777;
            margin-left: 5px;
            margin-right: 5px;
            width: 11px;
            z-index: 10;
            text-align: center;
            width: auto;
        }

        #kernel_indicator {
            float: right !important;
            float: right;
            color: #777;
            margin-left: 5px;
            margin-right: 5px;
            width: 11px;
            z-index: 10;
            text-align: center;
            width: auto;
            border-left: 1px solid;
        }

        #kernel_indicator .kernel_indicator_name {
            padding-left: 5px;
            padding-right: 5px;
        }

        #modal_indicator {
            float: right !important;
            float: right;
            color: #777;
            margin-left: 5px;
            margin-right: 5px;
            width: 11px;
            z-index: 10;
            text-align: center;
            width: auto;
        }

        #readonly-indicator {
            float: right !important;
            float: right;
            color: #777;
            margin-left: 5px;
            margin-right: 5px;
            width: 11px;
            z-index: 10;
            text-align: center;
            width: auto;
            margin-top: 2px;
            margin-bottom: 0px;
            margin-left: 0px;
            margin-right: 0px;
            display: none;
        }

        .modal_indicator:before {
            width: 1.28571429em;
            text-align: center;
        }

        .edit_mode .modal_indicator:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f040";
        }

        .edit_mode .modal_indicator:before.pull-left {
            margin-right: .3em;
        }

        .edit_mode .modal_indicator:before.pull-right {
            margin-left: .3em;
        }

        .command_mode .modal_indicator:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: ' ';
        }

        .command_mode .modal_indicator:before.pull-left {
            margin-right: .3em;
        }

        .command_mode .modal_indicator:before.pull-right {
            margin-left: .3em;
        }

        .kernel_idle_icon:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f10c";
        }

        .kernel_idle_icon:before.pull-left {
            margin-right: .3em;
        }

        .kernel_idle_icon:before.pull-right {
            margin-left: .3em;
        }

        .kernel_busy_icon:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f111";
        }

        .kernel_busy_icon:before.pull-left {
            margin-right: .3em;
        }

        .kernel_busy_icon:before.pull-right {
            margin-left: .3em;
        }

        .kernel_dead_icon:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f1e2";
        }

        .kernel_dead_icon:before.pull-left {
            margin-right: .3em;
        }

        .kernel_dead_icon:before.pull-right {
            margin-left: .3em;
        }

        .kernel_disconnected_icon:before {
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            content: "\f127";
        }

        .kernel_disconnected_icon:before.pull-left {
            margin-right: .3em;
        }

        .kernel_disconnected_icon:before.pull-right {
            margin-left: .3em;
        }

        .notification_widget {
            color: #777;
            z-index: 10;
            background: rgba(240, 240, 240, 0.5);
            margin-right: 4px;
            color: #333;
            background-color: #fff;
            border-color: #ccc;
        }

        .notification_widget:focus,
        .notification_widget.focus {
            color: #333;
            background-color: #e6e6e6;
            border-color: #8c8c8c;
        }

        .notification_widget:hover {
            color: #333;
            background-color: #e6e6e6;
            border-color: #adadad;
        }

        .notification_widget:active,
        .notification_widget.active,
        .open > .dropdown-toggle.notification_widget {
            color: #333;
            background-color: #e6e6e6;
            border-color: #adadad;
        }

        .notification_widget:active:hover,
        .notification_widget.active:hover,
        .open > .dropdown-toggle.notification_widget:hover,
        .notification_widget:active:focus,
        .notification_widget.active:focus,
        .open > .dropdown-toggle.notification_widget:focus,
        .notification_widget:active.focus,
        .notification_widget.active.focus,
        .open > .dropdown-toggle.notification_widget.focus {
            color: #333;
            background-color: #d4d4d4;
            border-color: #8c8c8c;
        }

        .notification_widget:active,
        .notification_widget.active,
        .open > .dropdown-toggle.notification_widget {
            background-image: none;
        }

        .notification_widget.disabled:hover,
        .notification_widget[disabled]:hover,
        fieldset[disabled] .notification_widget:hover,
        .notification_widget.disabled:focus,
        .notification_widget[disabled]:focus,
        fieldset[disabled] .notification_widget:focus,
        .notification_widget.disabled.focus,
        .notification_widget[disabled].focus,
        fieldset[disabled] .notification_widget.focus {
            background-color: #fff;
            border-color: #ccc;
        }

        .notification_widget .badge {
            color: #fff;
            background-color: #333;
        }

        .notification_widget.warning {
            color: #fff;
            background-color: #f0ad4e;
            border-color: #eea236;
        }

        .notification_widget.warning:focus,
        .notification_widget.warning.focus {
            color: #fff;
            background-color: #ec971f;
            border-color: #985f0d;
        }

        .notification_widget.warning:hover {
            color: #fff;
            background-color: #ec971f;
            border-color: #d58512;
        }

        .notification_widget.warning:active,
        .notification_widget.warning.active,
        .open > .dropdown-toggle.notification_widget.warning {
            color: #fff;
            background-color: #ec971f;
            border-color: #d58512;
        }

        .notification_widget.warning:active:hover,
        .notification_widget.warning.active:hover,
        .open > .dropdown-toggle.notification_widget.warning:hover,
        .notification_widget.warning:active:focus,
        .notification_widget.warning.active:focus,
        .open > .dropdown-toggle.notification_widget.warning:focus,
        .notification_widget.warning:active.focus,
        .notification_widget.warning.active.focus,
        .open > .dropdown-toggle.notification_widget.warning.focus {
            color: #fff;
            background-color: #d58512;
            border-color: #985f0d;
        }

        .notification_widget.warning:active,
        .notification_widget.warning.active,
        .open > .dropdown-toggle.notification_widget.warning {
            background-image: none;
        }

        .notification_widget.warning.disabled:hover,
        .notification_widget.warning[disabled]:hover,
        fieldset[disabled] .notification_widget.warning:hover,
        .notification_widget.warning.disabled:focus,
        .notification_widget.warning[disabled]:focus,
        fieldset[disabled] .notification_widget.warning:focus,
        .notification_widget.warning.disabled.focus,
        .notification_widget.warning[disabled].focus,
        fieldset[disabled] .notification_widget.warning.focus {
            background-color: #f0ad4e;
            border-color: #eea236;
        }

        .notification_widget.warning .badge {
            color: #f0ad4e;
            background-color: #fff;
        }

        .notification_widget.success {
            color: #fff;
            background-color: #5cb85c;
            border-color: #4cae4c;
        }

        .notification_widget.success:focus,
        .notification_widget.success.focus {
            color: #fff;
            background-color: #449d44;
            border-color: #255625;
        }

        .notification_widget.success:hover {
            color: #fff;
            background-color: #449d44;
            border-color: #398439;
        }

        .notification_widget.success:active,
        .notification_widget.success.active,
        .open > .dropdown-toggle.notification_widget.success {
            color: #fff;
            background-color: #449d44;
            border-color: #398439;
        }

        .notification_widget.success:active:hover,
        .notification_widget.success.active:hover,
        .open > .dropdown-toggle.notification_widget.success:hover,
        .notification_widget.success:active:focus,
        .notification_widget.success.active:focus,
        .open > .dropdown-toggle.notification_widget.success:focus,
        .notification_widget.success:active.focus,
        .notification_widget.success.active.focus,
        .open > .dropdown-toggle.notification_widget.success.focus {
            color: #fff;
            background-color: #398439;
            border-color: #255625;
        }

        .notification_widget.success:active,
        .notification_widget.success.active,
        .open > .dropdown-toggle.notification_widget.success {
            background-image: none;
        }

        .notification_widget.success.disabled:hover,
        .notification_widget.success[disabled]:hover,
        fieldset[disabled] .notification_widget.success:hover,
        .notification_widget.success.disabled:focus,
        .notification_widget.success[disabled]:focus,
        fieldset[disabled] .notification_widget.success:focus,
        .notification_widget.success.disabled.focus,
        .notification_widget.success[disabled].focus,
        fieldset[disabled] .notification_widget.success.focus {
            background-color: #5cb85c;
            border-color: #4cae4c;
        }

        .notification_widget.success .badge {
            color: #5cb85c;
            background-color: #fff;
        }

        .notification_widget.info {
            color: #fff;
            background-color: #5bc0de;
            border-color: #46b8da;
        }

        .notification_widget.info:focus,
        .notification_widget.info.focus {
            color: #fff;
            background-color: #31b0d5;
            border-color: #1b6d85;
        }

        .notification_widget.info:hover {
            color: #fff;
            background-color: #31b0d5;
            border-color: #269abc;
        }

        .notification_widget.info:active,
        .notification_widget.info.active,
        .open > .dropdown-toggle.notification_widget.info {
            color: #fff;
            background-color: #31b0d5;
            border-color: #269abc;
        }

        .notification_widget.info:active:hover,
        .notification_widget.info.active:hover,
        .open > .dropdown-toggle.notification_widget.info:hover,
        .notification_widget.info:active:focus,
        .notification_widget.info.active:focus,
        .open > .dropdown-toggle.notification_widget.info:focus,
        .notification_widget.info:active.focus,
        .notification_widget.info.active.focus,
        .open > .dropdown-toggle.notification_widget.info.focus {
            color: #fff;
            background-color: #269abc;
            border-color: #1b6d85;
        }

        .notification_widget.info:active,
        .notification_widget.info.active,
        .open > .dropdown-toggle.notification_widget.info {
            background-image: none;
        }

        .notification_widget.info.disabled:hover,
        .notification_widget.info[disabled]:hover,
        fieldset[disabled] .notification_widget.info:hover,
        .notification_widget.info.disabled:focus,
        .notification_widget.info[disabled]:focus,
        fieldset[disabled] .notification_widget.info:focus,
        .notification_widget.info.disabled.focus,
        .notification_widget.info[disabled].focus,
        fieldset[disabled] .notification_widget.info.focus {
            background-color: #5bc0de;
            border-color: #46b8da;
        }

        .notification_widget.info .badge {
            color: #5bc0de;
            background-color: #fff;
        }

        .notification_widget.danger {
            color: #fff;
            background-color: #d9534f;
            border-color: #d43f3a;
        }

        .notification_widget.danger:focus,
        .notification_widget.danger.focus {
            color: #fff;
            background-color: #c9302c;
            border-color: #761c19;
        }

        .notification_widget.danger:hover {
            color: #fff;
            background-color: #c9302c;
            border-color: #ac2925;
        }

        .notification_widget.danger:active,
        .notification_widget.danger.active,
        .open > .dropdown-toggle.notification_widget.danger {
            color: #fff;
            background-color: #c9302c;
            border-color: #ac2925;
        }

        .notification_widget.danger:active:hover,
        .notification_widget.danger.active:hover,
        .open > .dropdown-toggle.notification_widget.danger:hover,
        .notification_widget.danger:active:focus,
        .notification_widget.danger.active:focus,
        .open > .dropdown-toggle.notification_widget.danger:focus,
        .notification_widget.danger:active.focus,
        .notification_widget.danger.active.focus,
        .open > .dropdown-toggle.notification_widget.danger.focus {
            color: #fff;
            background-color: #ac2925;
            border-color: #761c19;
        }

        .notification_widget.danger:active,
        .notification_widget.danger.active,
        .open > .dropdown-toggle.notification_widget.danger {
            background-image: none;
        }

        .notification_widget.danger.disabled:hover,
        .notification_widget.danger[disabled]:hover,
        fieldset[disabled] .notification_widget.danger:hover,
        .notification_widget.danger.disabled:focus,
        .notification_widget.danger[disabled]:focus,
        fieldset[disabled] .notification_widget.danger:focus,
        .notification_widget.danger.disabled.focus,
        .notification_widget.danger[disabled].focus,
        fieldset[disabled] .notification_widget.danger.focus {
            background-color: #d9534f;
            border-color: #d43f3a;
        }

        .notification_widget.danger .badge {
            color: #d9534f;
            background-color: #fff;
        }

        div#pager {
            background-color: #fff;
            font-size: 14px;
            line-height: 20px;
            overflow: hidden;
            display: none;
            position: fixed;
            bottom: 0px;
            width: 100%;
            max-height: 50%;
            padding-top: 8px;
            -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
            box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
            /* Display over codemirror */
            z-index: 100;
            /* Hack which prevents jquery ui resizable from changing top. */
            top: auto !important;
        }

        div#pager pre {
            line-height: 1.21429em;
            color: #000;
            background-color: #f7f7f7;
            padding: 0.4em;
        }

        div#pager #pager-button-area {
            position: absolute;
            top: 8px;
            right: 20px;
        }

        div#pager #pager-contents {
            position: relative;
            overflow: auto;
            width: 100%;
            height: 100%;
        }

        div#pager #pager-contents #pager-container {
            position: relative;
            padding: 15px 0px;
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
        }

        div#pager .ui-resizable-handle {
            top: 0px;
            height: 8px;
            background: #f7f7f7;
            border-top: 1px solid #cfcfcf;
            border-bottom: 1px solid #cfcfcf;
            /* This injects handle bars (a short, wide = symbol) for
        the resize handle. */
        }

        div#pager .ui-resizable-handle::after {
            content: '';
            top: 2px;
            left: 50%;
            height: 3px;
            width: 30px;
            margin-left: -15px;
            position: absolute;
            border-top: 1px solid #cfcfcf;
        }

        .quickhelp {
            /* Old browsers */
            display: -webkit-box;
            -webkit-box-orient: horizontal;
            -webkit-box-align: stretch;
            display: -moz-box;
            -moz-box-orient: horizontal;
            -moz-box-align: stretch;
            display: box;
            box-orient: horizontal;
            box-align: stretch;
            /* Modern browsers */
            display: flex;
            flex-direction: row;
            align-items: stretch;
            line-height: 1.8em;
        }

        .shortcut_key {
            display: inline-block;
            width: 20ex;
            text-align: right;
            font-family: monospace;
        }

        .shortcut_descr {
            display: inline-block;
            /* Old browsers */
            -webkit-box-flex: 1;
            -moz-box-flex: 1;
            box-flex: 1;
            /* Modern browsers */
            flex: 1;
        }

        span.save_widget {
            margin-top: 6px;
        }

        span.save_widget span.filename {
            height: 1em;
            line-height: 1em;
            padding: 3px;
            margin-left: 16px;
            border: none;
            font-size: 146.5%;
            border-radius: 2px;
        }

        span.save_widget span.filename:hover {
            background-color: #e6e6e6;
        }

        span.checkpoint_status,
        span.autosave_status {
            font-size: small;
        }

        @media (max-width: 767px) {
            span.save_widget {
                font-size: small;
            }

            span.checkpoint_status,
            span.autosave_status {
                display: none;
            }
        }

        @media (min-width: 768px) and (max-width: 991px) {
            span.checkpoint_status {
                display: none;
            }

            span.autosave_status {
                font-size: x-small;
            }
        }

        .toolbar {
            padding: 0px;
            margin-left: -5px;
            margin-top: 2px;
            margin-bottom: 5px;
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
        }

        .toolbar select,
        .toolbar label {
            width: auto;
            vertical-align: middle;
            margin-right: 2px;
            margin-bottom: 0px;
            display: inline;
            font-size: 92%;
            margin-left: 0.3em;
            margin-right: 0.3em;
            padding: 0px;
            padding-top: 3px;
        }

        .toolbar .btn {
            padding: 2px 8px;
        }

        .toolbar .btn-group {
            margin-top: 0px;
            margin-left: 5px;
        }

        #maintoolbar {
            margin-bottom: -3px;
            margin-top: -8px;
            border: 0px;
            min-height: 27px;
            margin-left: 0px;
            padding-top: 11px;
            padding-bottom: 3px;
        }

        #maintoolbar .navbar-text {
            float: none;
            vertical-align: middle;
            text-align: right;
            margin-left: 5px;
            margin-right: 0px;
            margin-top: 0px;
        }

        .select-xs {
            height: 24px;
        }

        .pulse,
        .dropdown-menu > li > a.pulse,
        li.pulse > a.dropdown-toggle,
        li.pulse.open > a.dropdown-toggle {
            background-color: #F37626;
            color: white;
        }

        /**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
        /** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
        /*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
        @-moz-keyframes fadeOut {
            from {
                opacity: 1;
            }
            to {
                opacity: 0;
            }
        }

        @-webkit-keyframes fadeOut {
            from {
                opacity: 1;
            }
            to {
                opacity: 0;
            }
        }

        @-moz-keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        @-webkit-keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        /*properties of tooltip after "expand"*/
        .bigtooltip {
            overflow: auto;
            height: 200px;
            -webkit-transition-property: height;
            -webkit-transition-duration: 500ms;
            -moz-transition-property: height;
            -moz-transition-duration: 500ms;
            transition-property: height;
            transition-duration: 500ms;
        }

        /*properties of tooltip before "expand"*/
        .smalltooltip {
            -webkit-transition-property: height;
            -webkit-transition-duration: 500ms;
            -moz-transition-property: height;
            -moz-transition-duration: 500ms;
            transition-property: height;
            transition-duration: 500ms;
            text-overflow: ellipsis;
            overflow: hidden;
            height: 80px;
        }

        .tooltipbuttons {
            position: absolute;
            padding-right: 15px;
            top: 0px;
            right: 0px;
        }

        .tooltiptext {
            /*avoid the button to overlap on some docstring*/
            padding-right: 30px;
        }

        .ipython_tooltip {
            max-width: 700px;
            /*fade-in animation when inserted*/
            -webkit-animation: fadeOut 400ms;
            -moz-animation: fadeOut 400ms;
            animation: fadeOut 400ms;
            -webkit-animation: fadeIn 400ms;
            -moz-animation: fadeIn 400ms;
            animation: fadeIn 400ms;
            vertical-align: middle;
            background-color: #f7f7f7;
            overflow: visible;
            border: #ababab 1px solid;
            outline: none;
            padding: 3px;
            margin: 0px;
            padding-left: 7px;
            font-family: monospace;
            min-height: 50px;
            -moz-box-shadow: 0px 6px 10px -1px #adadad;
            -webkit-box-shadow: 0px 6px 10px -1px #adadad;
            box-shadow: 0px 6px 10px -1px #adadad;
            border-radius: 2px;
            position: absolute;
            z-index: 1000;
        }

        .ipython_tooltip a {
            float: right;
        }

        .ipython_tooltip .tooltiptext pre {
            border: 0;
            border-radius: 0;
            font-size: 100%;
            background-color: #f7f7f7;
        }

        .pretooltiparrow {
            left: 0px;
            margin: 0px;
            top: -16px;
            width: 40px;
            height: 16px;
            overflow: hidden;
            position: absolute;
        }

        .pretooltiparrow:before {
            background-color: #f7f7f7;
            border: 1px #ababab solid;
            z-index: 11;
            content: "";
            position: absolute;
            left: 15px;
            top: 10px;
            width: 25px;
            height: 25px;
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            -o-transform: rotate(45deg);
        }

        ul.typeahead-list i {
            margin-left: -10px;
            width: 18px;
        }

        ul.typeahead-list {
            max-height: 80vh;
            overflow: auto;
        }

        ul.typeahead-list > li > a {
            /** Firefox bug **/
            /* see https://github.com/jupyter/notebook/issues/559 */
            white-space: normal;
        }

        .cmd-palette .modal-body {
            padding: 7px;
        }

        .cmd-palette form {
            background: white;
        }

        .cmd-palette input {
            outline: none;
        }

        .no-shortcut {
            display: none;
        }

        .command-shortcut:before {
            content: "(command)";
            padding-right: 3px;
            color: #777777;
        }

        .edit-shortcut:before {
            content: "(edit)";
            padding-right: 3px;
            color: #777777;
        }

        #find-and-replace #replace-preview .match,
        #find-and-replace #replace-preview .insert {
            background-color: #BBDEFB;
            border-color: #90CAF9;
            border-style: solid;
            border-width: 1px;
            border-radius: 0px;
        }

        #find-and-replace #replace-preview .replace .match {
            background-color: #FFCDD2;
            border-color: #EF9A9A;
            border-radius: 0px;
        }

        #find-and-replace #replace-preview .replace .insert {
            background-color: #C8E6C9;
            border-color: #A5D6A7;
            border-radius: 0px;
        }

        #find-and-replace #replace-preview {
            max-height: 60vh;
            overflow: auto;
        }

        #find-and-replace #replace-preview pre {
            padding: 5px 10px;
        }

        .terminal-app {
            background: #EEE;
        }

        .terminal-app #header {
            background: #fff;
            -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
            box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
        }

        .terminal-app .terminal {
            float: left;
            font-family: monospace;
            color: white;
            background: black;
            padding: 0.4em;
            border-radius: 2px;
            -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
            box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
        }

        .terminal-app .terminal,
        .terminal-app .terminal dummy-screen {
            line-height: 1em;
            font-size: 14px;
        }

        .terminal-app .terminal-cursor {
            color: black;
            background: white;
        }

        .terminal-app #terminado-container {
            margin-top: 20px;
        }

        /*# sourceMappingURL=style.min.css.map */
    </style>
    <style type="text/css">
        .highlight .hll {
            background-color: #ffffcc
        }

        .highlight {
            background: #f8f8f8;
        }

        .highlight .c {
            color: #408080;
            font-style: italic
        }

        /* Comment */
        .highlight .err {
            border: 1px solid #FF0000
        }

        /* Error */
        .highlight .k {
            color: #008000;
            font-weight: bold
        }

        /* Keyword */
        .highlight .o {
            color: #666666
        }

        /* Operator */
        .highlight .ch {
            color: #408080;
            font-style: italic
        }

        /* Comment.Hashbang */
        .highlight .cm {
            color: #408080;
            font-style: italic
        }

        /* Comment.Multiline */
        .highlight .cp {
            color: #BC7A00
        }

        /* Comment.Preproc */
        .highlight .cpf {
            color: #408080;
            font-style: italic
        }

        /* Comment.PreprocFile */
        .highlight .c1 {
            color: #408080;
            font-style: italic
        }

        /* Comment.Single */
        .highlight .cs {
            color: #408080;
            font-style: italic
        }

        /* Comment.Special */
        .highlight .gd {
            color: #A00000
        }

        /* Generic.Deleted */
        .highlight .ge {
            font-style: italic
        }

        /* Generic.Emph */
        .highlight .gr {
            color: #FF0000
        }

        /* Generic.Error */
        .highlight .gh {
            color: #000080;
            font-weight: bold
        }

        /* Generic.Heading */
        .highlight .gi {
            color: #00A000
        }

        /* Generic.Inserted */
        .highlight .go {
            color: #888888
        }

        /* Generic.Output */
        .highlight .gp {
            color: #000080;
            font-weight: bold
        }

        /* Generic.Prompt */
        .highlight .gs {
            font-weight: bold
        }

        /* Generic.Strong */
        .highlight .gu {
            color: #800080;
            font-weight: bold
        }

        /* Generic.Subheading */
        .highlight .gt {
            color: #0044DD
        }

        /* Generic.Traceback */
        .highlight .kc {
            color: #008000;
            font-weight: bold
        }

        /* Keyword.Constant */
        .highlight .kd {
            color: #008000;
            font-weight: bold
        }

        /* Keyword.Declaration */
        .highlight .kn {
            color: #008000;
            font-weight: bold
        }

        /* Keyword.Namespace */
        .highlight .kp {
            color: #008000
        }

        /* Keyword.Pseudo */
        .highlight .kr {
            color: #008000;
            font-weight: bold
        }

        /* Keyword.Reserved */
        .highlight .kt {
            color: #B00040
        }

        /* Keyword.Type */
        .highlight .m {
            color: #666666
        }

        /* Literal.Number */
        .highlight .s {
            color: #BA2121
        }

        /* Literal.String */
        .highlight .na {
            color: #7D9029
        }

        /* Name.Attribute */
        .highlight .nb {
            color: #008000
        }

        /* Name.Builtin */
        .highlight .nc {
            color: #0000FF;
            font-weight: bold
        }

        /* Name.Class */
        .highlight .no {
            color: #880000
        }

        /* Name.Constant */
        .highlight .nd {
            color: #AA22FF
        }

        /* Name.Decorator */
        .highlight .ni {
            color: #999999;
            font-weight: bold
        }

        /* Name.Entity */
        .highlight .ne {
            color: #D2413A;
            font-weight: bold
        }

        /* Name.Exception */
        .highlight .nf {
            color: #0000FF
        }

        /* Name.Function */
        .highlight .nl {
            color: #A0A000
        }

        /* Name.Label */
        .highlight .nn {
            color: #0000FF;
            font-weight: bold
        }

        /* Name.Namespace */
        .highlight .nt {
            color: #008000;
            font-weight: bold
        }

        /* Name.Tag */
        .highlight .nv {
            color: #19177C
        }

        /* Name.Variable */
        .highlight .ow {
            color: #AA22FF;
            font-weight: bold
        }

        /* Operator.Word */
        .highlight .w {
            color: #bbbbbb
        }

        /* Text.Whitespace */
        .highlight .mb {
            color: #666666
        }

        /* Literal.Number.Bin */
        .highlight .mf {
            color: #666666
        }

        /* Literal.Number.Float */
        .highlight .mh {
            color: #666666
        }

        /* Literal.Number.Hex */
        .highlight .mi {
            color: #666666
        }

        /* Literal.Number.Integer */
        .highlight .mo {
            color: #666666
        }

        /* Literal.Number.Oct */
        .highlight .sb {
            color: #BA2121
        }

        /* Literal.String.Backtick */
        .highlight .sc {
            color: #BA2121
        }

        /* Literal.String.Char */
        .highlight .sd {
            color: #BA2121;
            font-style: italic
        }

        /* Literal.String.Doc */
        .highlight .s2 {
            color: #BA2121
        }

        /* Literal.String.Double */
        .highlight .se {
            color: #BB6622;
            font-weight: bold
        }

        /* Literal.String.Escape */
        .highlight .sh {
            color: #BA2121
        }

        /* Literal.String.Heredoc */
        .highlight .si {
            color: #BB6688;
            font-weight: bold
        }

        /* Literal.String.Interpol */
        .highlight .sx {
            color: #008000
        }

        /* Literal.String.Other */
        .highlight .sr {
            color: #BB6688
        }

        /* Literal.String.Regex */
        .highlight .s1 {
            color: #BA2121
        }

        /* Literal.String.Single */
        .highlight .ss {
            color: #19177C
        }

        /* Literal.String.Symbol */
        .highlight .bp {
            color: #008000
        }

        /* Name.Builtin.Pseudo */
        .highlight .vc {
            color: #19177C
        }

        /* Name.Variable.Class */
        .highlight .vg {
            color: #19177C
        }

        /* Name.Variable.Global */
        .highlight .vi {
            color: #19177C
        }

        /* Name.Variable.Instance */
        .highlight .il {
            color: #666666
        }

        /* Literal.Number.Integer.Long */
    </style>
    <style type="text/css">

        /* Temporary definitions which will become obsolete with Notebook release 5.0 */
        .ansi-black-fg {
            color: #3E424D;
        }

        .ansi-black-bg {
            background-color: #3E424D;
        }

        .ansi-black-intense-fg {
            color: #282C36;
        }

        .ansi-black-intense-bg {
            background-color: #282C36;
        }

        .ansi-red-fg {
            color: #E75C58;
        }

        .ansi-red-bg {
            background-color: #E75C58;
        }

        .ansi-red-intense-fg {
            color: #B22B31;
        }

        .ansi-red-intense-bg {
            background-color: #B22B31;
        }

        .ansi-green-fg {
            color: #00A250;
        }

        .ansi-green-bg {
            background-color: #00A250;
        }

        .ansi-green-intense-fg {
            color: #007427;
        }

        .ansi-green-intense-bg {
            background-color: #007427;
        }

        .ansi-yellow-fg {
            color: #DDB62B;
        }

        .ansi-yellow-bg {
            background-color: #DDB62B;
        }

        .ansi-yellow-intense-fg {
            color: #B27D12;
        }

        .ansi-yellow-intense-bg {
            background-color: #B27D12;
        }

        .ansi-blue-fg {
            color: #208FFB;
        }

        .ansi-blue-bg {
            background-color: #208FFB;
        }

        .ansi-blue-intense-fg {
            color: #0065CA;
        }

        .ansi-blue-intense-bg {
            background-color: #0065CA;
        }

        .ansi-magenta-fg {
            color: #D160C4;
        }

        .ansi-magenta-bg {
            background-color: #D160C4;
        }

        .ansi-magenta-intense-fg {
            color: #A03196;
        }

        .ansi-magenta-intense-bg {
            background-color: #A03196;
        }

        .ansi-cyan-fg {
            color: #60C6C8;
        }

        .ansi-cyan-bg {
            background-color: #60C6C8;
        }

        .ansi-cyan-intense-fg {
            color: #258F8F;
        }

        .ansi-cyan-intense-bg {
            background-color: #258F8F;
        }

        .ansi-white-fg {
            color: #C5C1B4;
        }

        .ansi-white-bg {
            background-color: #C5C1B4;
        }

        .ansi-white-intense-fg {
            color: #A1A6B2;
        }

        .ansi-white-intense-bg {
            background-color: #A1A6B2;
        }

        .ansi-bold {
            font-weight: bold;
        }

    </style>


    <style type="text/css">
        /* Overrides of notebook CSS for static HTML export */
        body {
            overflow: visible;
            padding: 8px;
        }

        div#notebook {
            overflow: visible;
            border-top: none;
        }

        @media print {
            div.cell {
                display: block;
                page-break-inside: avoid;
            }

            div.output_wrapper {
                display: block;
                page-break-inside: avoid;
            }

            div.output {
                display: block;
                page-break-inside: avoid;
            }
        }
    </style>

    <!-- Custom stylesheet, it must be in the same directory as the html file -->
    <link rel="stylesheet" href="custom.css">

    <!-- Loading mathjax macro -->
    <!-- Load mathjax -->
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        "HTML-CSS": {
            styles: {'.MathJax_Display': {"margin": 0}},
            linebreaks: { automatic: true }
        }
    });

    </script>
    <!-- End of mathjax configuration --></head>
<body>
<div tabindex="-1" id="notebook" class="border-box-sizing">
    <div class="container" id="notebook-container">

        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h1 id="&#25151;&#20215;&#39044;&#27979;&#26696;&#20363;">&#25151;&#20215;&#39044;&#27979;&#26696;&#20363;<a
                            class="anchor-link" href="#&#25151;&#20215;&#39044;&#27979;&#26696;&#20363;">&#182;</a></h1>
                    <h2 id="Step-1:-&#26816;&#35270;&#28304;&#25968;&#25454;&#38598;">Step 1: &#26816;&#35270;&#28304;&#25968;&#25454;&#38598;<a
                            class="anchor-link"
                            href="#Step-1:-&#26816;&#35270;&#28304;&#25968;&#25454;&#38598;">&#182;</a></h2>
                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[5]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span
                                class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h4 id="&#35835;&#20837;&#25968;&#25454;">&#35835;&#20837;&#25968;&#25454;<a class="anchor-link"
                                                                                                 href="#&#35835;&#20837;&#25968;&#25454;">&#182;</a>
                    </h4>
                    <ul>
                        <li><p>一般来说源数据的index那一栏没什么用，我们可以用来作为我们pandas dataframe的index。这样之后要是检索起来也省事儿。</p>
                        </li>
                        <li><p>有人的地方就有鄙视链。跟知乎一样。Kaggle的也是个处处呵呵的危险地带。Kaggle上默认把数据放在<em>input</em>文件夹下。所以我们没事儿写个教程什么的，也可以依据这个convention来，显得自己很有逼格。。
                        </p>
                        </li>
                    </ul>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[6]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">train_df</span> <span
                                class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span
                                class="p">(</span><span class="s1">&#39;../input/train.csv&#39;</span><span
                                class="p">,</span> <span class="n">index_col</span><span class="o">=</span><span
                                class="mi">0</span><span class="p">)</span>
<span class="n">test_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span
                                    class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;../input/test.csv&#39;</span><span
                                    class="p">,</span> <span class="n">index_col</span><span class="o">=</span><span
                                    class="mi">0</span><span class="p">)</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h4 id="&#26816;&#35270;&#28304;&#25968;&#25454;">&#26816;&#35270;&#28304;&#25968;&#25454;<a
                            class="anchor-link" href="#&#26816;&#35270;&#28304;&#25968;&#25454;">&#182;</a></h4>
                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[7]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">train_df</span><span
                                class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[7]:</div>

                        <div class="output_html rendered_html output_subarea output_execute_result">
                            <div>
                                <table border="1" class="dataframe">
                                    <thead>
                                    <tr style="text-align: right;">
                                        <th></th>
                                        <th>MSSubClass</th>
                                        <th>MSZoning</th>
                                        <th>LotFrontage</th>
                                        <th>LotArea</th>
                                        <th>Street</th>
                                        <th>Alley</th>
                                        <th>LotShape</th>
                                        <th>LandContour</th>
                                        <th>Utilities</th>
                                        <th>LotConfig</th>
                                        <th>...</th>
                                        <th>PoolArea</th>
                                        <th>PoolQC</th>
                                        <th>Fence</th>
                                        <th>MiscFeature</th>
                                        <th>MiscVal</th>
                                        <th>MoSold</th>
                                        <th>YrSold</th>
                                        <th>SaleType</th>
                                        <th>SaleCondition</th>
                                        <th>SalePrice</th>
                                    </tr>
                                    <tr>
                                        <th>Id</th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                    </tr>
                                    </thead>
                                    <tbody>
                                    <tr>
                                        <th>1</th>
                                        <td>60</td>
                                        <td>RL</td>
                                        <td>65.0</td>
                                        <td>8450</td>
                                        <td>Pave</td>
                                        <td>NaN</td>
                                        <td>Reg</td>
                                        <td>Lvl</td>
                                        <td>AllPub</td>
                                        <td>Inside</td>
                                        <td>...</td>
                                        <td>0</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>0</td>
                                        <td>2</td>
                                        <td>2008</td>
                                        <td>WD</td>
                                        <td>Normal</td>
                                        <td>208500</td>
                                    </tr>
                                    <tr>
                                        <th>2</th>
                                        <td>20</td>
                                        <td>RL</td>
                                        <td>80.0</td>
                                        <td>9600</td>
                                        <td>Pave</td>
                                        <td>NaN</td>
                                        <td>Reg</td>
                                        <td>Lvl</td>
                                        <td>AllPub</td>
                                        <td>FR2</td>
                                        <td>...</td>
                                        <td>0</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>0</td>
                                        <td>5</td>
                                        <td>2007</td>
                                        <td>WD</td>
                                        <td>Normal</td>
                                        <td>181500</td>
                                    </tr>
                                    <tr>
                                        <th>3</th>
                                        <td>60</td>
                                        <td>RL</td>
                                        <td>68.0</td>
                                        <td>11250</td>
                                        <td>Pave</td>
                                        <td>NaN</td>
                                        <td>IR1</td>
                                        <td>Lvl</td>
                                        <td>AllPub</td>
                                        <td>Inside</td>
                                        <td>...</td>
                                        <td>0</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>0</td>
                                        <td>9</td>
                                        <td>2008</td>
                                        <td>WD</td>
                                        <td>Normal</td>
                                        <td>223500</td>
                                    </tr>
                                    <tr>
                                        <th>4</th>
                                        <td>70</td>
                                        <td>RL</td>
                                        <td>60.0</td>
                                        <td>9550</td>
                                        <td>Pave</td>
                                        <td>NaN</td>
                                        <td>IR1</td>
                                        <td>Lvl</td>
                                        <td>AllPub</td>
                                        <td>Corner</td>
                                        <td>...</td>
                                        <td>0</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>0</td>
                                        <td>2</td>
                                        <td>2006</td>
                                        <td>WD</td>
                                        <td>Abnorml</td>
                                        <td>140000</td>
                                    </tr>
                                    <tr>
                                        <th>5</th>
                                        <td>60</td>
                                        <td>RL</td>
                                        <td>84.0</td>
                                        <td>14260</td>
                                        <td>Pave</td>
                                        <td>NaN</td>
                                        <td>IR1</td>
                                        <td>Lvl</td>
                                        <td>AllPub</td>
                                        <td>FR2</td>
                                        <td>...</td>
                                        <td>0</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>NaN</td>
                                        <td>0</td>
                                        <td>12</td>
                                        <td>2008</td>
                                        <td>WD</td>
                                        <td>Normal</td>
                                        <td>250000</td>
                                    </tr>
                                    </tbody>
                                </table>
                                <p>5 rows × 80 columns</p>
                            </div>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>这时候大概心里可以有数，哪些地方需要人为的处理一下，以做到源数据更加好被process。</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h2 id="Step-2:-&#21512;&#24182;&#25968;&#25454;">Step 2: &#21512;&#24182;&#25968;&#25454;<a
                            class="anchor-link" href="#Step-2:-&#21512;&#24182;&#25968;&#25454;">&#182;</a></h2>
                    <p>这么做主要是为了用DF进行数据预处理的时候更加方便。等所有的需要的预处理进行完之后，我们再把他们分隔开。</p>
                    <p>首先，SalePrice作为我们的训练目标，只会出现在训练集中，不会在测试集中（要不然你测试什么？）。所以，我们先把<em>SalePrice</em>这一列给拿出来，不让它碍事儿。</p>
                    <p>我们先看一下<em>SalePrice</em>长什么样纸：</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[8]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="o">%</span><span class="k">matplotlib</span> inline
<span class="n">prices</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span
                                    class="p">({</span><span class="s2">&quot;price&quot;</span><span class="p">:</span><span
                                    class="n">train_df</span><span class="p">[</span><span class="s2">&quot;SalePrice&quot;</span><span
                                    class="p">],</span> <span class="s2">&quot;log(price + 1)&quot;</span><span
                                    class="p">:</span><span class="n">np</span><span class="o">.</span><span class="n">log1p</span><span
                                    class="p">(</span><span class="n">train_df</span><span class="p">[</span><span
                                    class="s2">&quot;SalePrice&quot;</span><span class="p">])})</span>
<span class="n">prices</span><span class="o">.</span><span class="n">hist</span><span class="p">()</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[8]:</div>


                        <div class="output_text output_subarea output_execute_result">
<pre>array([[&lt;matplotlib.axes._subplots.AxesSubplot object at 0x10864a5f8&gt;,
        &lt;matplotlib.axes._subplots.AxesSubplot object at 0x1092429b0&gt;]], dtype=object)</pre>
                        </div>

                    </div>

                    <div class="output_area">
                        <div class="prompt"></div>


                        <div class="output_png output_subarea ">
                            <img src="
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
YII=
"
                            >
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>可见，label本身并不平滑。为了我们分类器的学习更加准确，我们会首先把label给“平滑化”（正态化）</p>
                    <p>这一步大部分同学会miss掉，导致自己的结果总是达不到一定标准。</p>
                    <p>这里我们使用最有逼格的log1p, 也就是 log(x+1)，避免了复值的问题。</p>
                    <p>记住哟，如果我们这里把数据都给平滑化了，那么最后算结果的时候，要记得把预测到的平滑数据给变回去。</p>
                    <p>按照“怎么来的怎么去”原则，log1p()就需要expm1(); 同理，log()就需要exp(), ... etc.</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[9]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y_train</span> <span
                                class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">log1p</span><span
                                class="p">(</span><span class="n">train_df</span><span class="o">.</span><span
                                class="n">pop</span><span class="p">(</span><span
                                class="s1">&#39;SalePrice&#39;</span><span class="p">))</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>然后我们把剩下的部分合并起来</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[10]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_df</span> <span
                                class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span
                                class="p">((</span><span class="n">train_df</span><span class="p">,</span> <span
                                class="n">test_df</span><span class="p">),</span> <span class="n">axis</span><span
                                class="o">=</span><span class="mi">0</span><span class="p">)</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>此刻，我们可以看到all_df就是我们合在一起的DF</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[11]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_df</span><span
                                class="o">.</span><span class="n">shape</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[11]:</div>


                        <div class="output_text output_subarea output_execute_result">
                            <pre>(2919, 79)</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>而<em>y_train</em>则是<em>SalePrice</em>那一列</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[12]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y_train</span><span
                                class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[12]:</div>


                        <div class="output_text output_subarea output_execute_result">
<pre>Id
1    12.247699
2    12.109016
3    12.317171
4    11.849405
5    12.429220
Name: SalePrice, dtype: float64</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h2 id="Step-3:-&#21464;&#37327;&#36716;&#21270;">Step 3: &#21464;&#37327;&#36716;&#21270;<a
                            class="anchor-link" href="#Step-3:-&#21464;&#37327;&#36716;&#21270;">&#182;</a></h2>
                    <p>类似『特征工程』。就是把不方便处理或者不unify的数据给统一了。</p>
                    <h4 id="&#27491;&#30830;&#21270;&#21464;&#37327;&#23646;&#24615;">&#27491;&#30830;&#21270;&#21464;&#37327;&#23646;&#24615;<a
                            class="anchor-link"
                            href="#&#27491;&#30830;&#21270;&#21464;&#37327;&#23646;&#24615;">&#182;</a></h4>
                    <p>首先，我们注意到，<em>MSSubClass</em> 的值其实应该是一个category，</p>
                    <p>但是Pandas是不会懂这些事儿的。使用DF的时候，这类数字符号会被默认记成数字。</p>
                    <p>这种东西就很有误导性，我们需要把它变回成<em>string</em></p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[13]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_df</span><span
                                class="p">[</span><span class="s1">&#39;MSSubClass&#39;</span><span
                                class="p">]</span><span class="o">.</span><span class="n">dtypes</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[13]:</div>


                        <div class="output_text output_subarea output_execute_result">
                            <pre>dtype(&#39;int64&#39;)</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[14]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_df</span><span
                                class="p">[</span><span class="s1">&#39;MSSubClass&#39;</span><span
                                class="p">]</span> <span class="o">=</span> <span class="n">all_df</span><span
                                class="p">[</span><span class="s1">&#39;MSSubClass&#39;</span><span
                                class="p">]</span><span class="o">.</span><span class="n">astype</span><span
                                class="p">(</span><span class="nb">str</span><span class="p">)</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>变成<em>str</em>以后，做个统计，就很清楚了</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[15]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_df</span><span
                                class="p">[</span><span class="s1">&#39;MSSubClass&#39;</span><span
                                class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span
                                class="p">()</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[15]:</div>


                        <div class="output_text output_subarea output_execute_result">
<pre>20     1079
60      575
50      287
120     182
30      139
70      128
160     128
80      118
90      109
190      61
85       48
75       23
45       18
180      17
40        6
150       1
Name: MSSubClass, dtype: int64</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h4 id="&#25226;category&#30340;&#21464;&#37327;&#36716;&#21464;&#25104;numerical&#34920;&#36798;&#24418;&#24335;">
                        &#25226;category&#30340;&#21464;&#37327;&#36716;&#21464;&#25104;numerical&#34920;&#36798;&#24418;&#24335;<a
                            class="anchor-link"
                            href="#&#25226;category&#30340;&#21464;&#37327;&#36716;&#21464;&#25104;numerical&#34920;&#36798;&#24418;&#24335;">&#182;</a>
                    </h4>
                    <p>
                        当我们用numerical来表达categorical的时候，要注意，数字本身有大小的含义，所以乱用数字会给之后的模型学习带来麻烦。于是我们可以用One-Hot的方法来表达category。</p>
                    <p>pandas自带的get_dummies方法，可以帮你一键做到One-Hot。</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[16]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">pd</span><span
                                class="o">.</span><span class="n">get_dummies</span><span class="p">(</span><span
                                class="n">all_df</span><span class="p">[</span><span
                                class="s1">&#39;MSSubClass&#39;</span><span class="p">],</span> <span
                                class="n">prefix</span><span class="o">=</span><span
                                class="s1">&#39;MSSubClass&#39;</span><span class="p">)</span><span
                                class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[16]:</div>

                        <div class="output_html rendered_html output_subarea output_execute_result">
                            <div>
                                <table border="1" class="dataframe">
                                    <thead>
                                    <tr style="text-align: right;">
                                        <th></th>
                                        <th>MSSubClass_120</th>
                                        <th>MSSubClass_150</th>
                                        <th>MSSubClass_160</th>
                                        <th>MSSubClass_180</th>
                                        <th>MSSubClass_190</th>
                                        <th>MSSubClass_20</th>
                                        <th>MSSubClass_30</th>
                                        <th>MSSubClass_40</th>
                                        <th>MSSubClass_45</th>
                                        <th>MSSubClass_50</th>
                                        <th>MSSubClass_60</th>
                                        <th>MSSubClass_70</th>
                                        <th>MSSubClass_75</th>
                                        <th>MSSubClass_80</th>
                                        <th>MSSubClass_85</th>
                                        <th>MSSubClass_90</th>
                                    </tr>
                                    <tr>
                                        <th>Id</th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                    </tr>
                                    </thead>
                                    <tbody>
                                    <tr>
                                        <th>1</th>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    <tr>
                                        <th>2</th>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    <tr>
                                        <th>3</th>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    <tr>
                                        <th>4</th>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    <tr>
                                        <th>5</th>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    </tbody>
                                </table>
                            </div>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>此刻<em>MSSubClass</em>被我们分成了12个column，每一个代表一个category。是就是1，不是就是0。</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>同理，我们把所有的category数据，都给One-Hot了</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[17]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_dummy_df</span> <span
                                class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">get_dummies</span><span
                                class="p">(</span><span class="n">all_df</span><span class="p">)</span>
<span class="n">all_dummy_df</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[17]:</div>

                        <div class="output_html rendered_html output_subarea output_execute_result">
                            <div>
                                <table border="1" class="dataframe">
                                    <thead>
                                    <tr style="text-align: right;">
                                        <th></th>
                                        <th>LotFrontage</th>
                                        <th>LotArea</th>
                                        <th>OverallQual</th>
                                        <th>OverallCond</th>
                                        <th>YearBuilt</th>
                                        <th>YearRemodAdd</th>
                                        <th>MasVnrArea</th>
                                        <th>BsmtFinSF1</th>
                                        <th>BsmtFinSF2</th>
                                        <th>BsmtUnfSF</th>
                                        <th>...</th>
                                        <th>SaleType_ConLw</th>
                                        <th>SaleType_New</th>
                                        <th>SaleType_Oth</th>
                                        <th>SaleType_WD</th>
                                        <th>SaleCondition_Abnorml</th>
                                        <th>SaleCondition_AdjLand</th>
                                        <th>SaleCondition_Alloca</th>
                                        <th>SaleCondition_Family</th>
                                        <th>SaleCondition_Normal</th>
                                        <th>SaleCondition_Partial</th>
                                    </tr>
                                    <tr>
                                        <th>Id</th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                        <th></th>
                                    </tr>
                                    </thead>
                                    <tbody>
                                    <tr>
                                        <th>1</th>
                                        <td>65.0</td>
                                        <td>8450</td>
                                        <td>7</td>
                                        <td>5</td>
                                        <td>2003</td>
                                        <td>2003</td>
                                        <td>196.0</td>
                                        <td>706.0</td>
                                        <td>0.0</td>
                                        <td>150.0</td>
                                        <td>...</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    <tr>
                                        <th>2</th>
                                        <td>80.0</td>
                                        <td>9600</td>
                                        <td>6</td>
                                        <td>8</td>
                                        <td>1976</td>
                                        <td>1976</td>
                                        <td>0.0</td>
                                        <td>978.0</td>
                                        <td>0.0</td>
                                        <td>284.0</td>
                                        <td>...</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    <tr>
                                        <th>3</th>
                                        <td>68.0</td>
                                        <td>11250</td>
                                        <td>7</td>
                                        <td>5</td>
                                        <td>2001</td>
                                        <td>2002</td>
                                        <td>162.0</td>
                                        <td>486.0</td>
                                        <td>0.0</td>
                                        <td>434.0</td>
                                        <td>...</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    <tr>
                                        <th>4</th>
                                        <td>60.0</td>
                                        <td>9550</td>
                                        <td>7</td>
                                        <td>5</td>
                                        <td>1915</td>
                                        <td>1970</td>
                                        <td>0.0</td>
                                        <td>216.0</td>
                                        <td>0.0</td>
                                        <td>540.0</td>
                                        <td>...</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    <tr>
                                        <th>5</th>
                                        <td>84.0</td>
                                        <td>14260</td>
                                        <td>8</td>
                                        <td>5</td>
                                        <td>2000</td>
                                        <td>2000</td>
                                        <td>350.0</td>
                                        <td>655.0</td>
                                        <td>0.0</td>
                                        <td>490.0</td>
                                        <td>...</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>0.0</td>
                                        <td>1.0</td>
                                        <td>0.0</td>
                                    </tr>
                                    </tbody>
                                </table>
                                <p>5 rows × 303 columns</p>
                            </div>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h4 id="&#22788;&#29702;&#22909;numerical&#21464;&#37327;">&#22788;&#29702;&#22909;numerical&#21464;&#37327;<a
                            class="anchor-link" href="#&#22788;&#29702;&#22909;numerical&#21464;&#37327;">&#182;</a>
                    </h4>
                    <p>就算是numerical的变量，也还会有一些小问题。</p>
                    <p>比如，有一些数据是缺失的：</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[18]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_dummy_df</span><span
                                class="o">.</span><span class="n">isnull</span><span class="p">()</span><span class="o">.</span><span
                                class="n">sum</span><span class="p">()</span><span class="o">.</span><span class="n">sort_values</span><span
                                class="p">(</span><span class="n">ascending</span><span class="o">=</span><span
                                class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">head</span><span
                                class="p">(</span><span class="mi">10</span><span class="p">)</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[18]:</div>


                        <div class="output_text output_subarea output_execute_result">
<pre>LotFrontage     486
GarageYrBlt     159
MasVnrArea       23
BsmtHalfBath      2
BsmtFullBath      2
BsmtFinSF2        1
GarageCars        1
TotalBsmtSF       1
BsmtUnfSF         1
GarageArea        1
dtype: int64</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>可以看到，缺失最多的column是LotFrontage</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>处理这些缺失的信息，得靠好好审题。一般来说，数据集的描述里会写的很清楚，这些缺失都代表着什么。当然，如果实在没有的话，也只能靠自己的『想当然』。。</p>
                    <p>在这里，我们用平均值来填满这些空缺。</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[19]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">mean_cols</span> <span
                                class="o">=</span> <span class="n">all_dummy_df</span><span class="o">.</span><span
                                class="n">mean</span><span class="p">()</span>
<span class="n">mean_cols</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span
                                    class="mi">10</span><span class="p">)</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[19]:</div>


                        <div class="output_text output_subarea output_execute_result">
<pre>LotFrontage        69.305795
LotArea         10168.114080
OverallQual         6.089072
OverallCond         5.564577
YearBuilt        1971.312778
YearRemodAdd     1984.264474
MasVnrArea        102.201312
BsmtFinSF1        441.423235
BsmtFinSF2         49.582248
BsmtUnfSF         560.772104
dtype: float64</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[20]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_dummy_df</span> <span
                                class="o">=</span> <span class="n">all_dummy_df</span><span class="o">.</span><span
                                class="n">fillna</span><span class="p">(</span><span class="n">mean_cols</span><span
                                class="p">)</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>看看是不是没有空缺了？</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[21]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_dummy_df</span><span
                                class="o">.</span><span class="n">isnull</span><span class="p">()</span><span class="o">.</span><span
                                class="n">sum</span><span class="p">()</span><span class="o">.</span><span
                                class="n">sum</span><span class="p">()</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[21]:</div>


                        <div class="output_text output_subarea output_execute_result">
                            <pre>0</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h4 id="&#26631;&#20934;&#21270;numerical&#25968;&#25454;">&#26631;&#20934;&#21270;numerical&#25968;&#25454;<a
                            class="anchor-link" href="#&#26631;&#20934;&#21270;numerical&#25968;&#25454;">&#182;</a>
                    </h4>
                    <p>这一步并不是必要，但是得看你想要用的分类器是什么。一般来说，regression的分类器都比较傲娇，最好是把源数据给放在一个标准分布内。不要让数据间的差距太大。</p>
                    <p>这里，我们当然不需要把One-Hot的那些0/1数据给标准化。我们的目标应该是那些本来就是numerical的数据：</p>
                    <p>先来看看 哪些是numerical的：</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[22]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">numeric_cols</span> <span
                                class="o">=</span> <span class="n">all_df</span><span class="o">.</span><span class="n">columns</span><span
                                class="p">[</span><span class="n">all_df</span><span class="o">.</span><span class="n">dtypes</span> <span
                                class="o">!=</span> <span class="s1">&#39;object&#39;</span><span class="p">]</span>
<span class="n">numeric_cols</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[22]:</div>


                        <div class="output_text output_subarea output_execute_result">
<pre>Index([&#39;LotFrontage&#39;, &#39;LotArea&#39;, &#39;OverallQual&#39;, &#39;OverallCond&#39;, &#39;YearBuilt&#39;,
       &#39;YearRemodAdd&#39;, &#39;MasVnrArea&#39;, &#39;BsmtFinSF1&#39;, &#39;BsmtFinSF2&#39;, &#39;BsmtUnfSF&#39;,
       &#39;TotalBsmtSF&#39;, &#39;1stFlrSF&#39;, &#39;2ndFlrSF&#39;, &#39;LowQualFinSF&#39;, &#39;GrLivArea&#39;,
       &#39;BsmtFullBath&#39;, &#39;BsmtHalfBath&#39;, &#39;FullBath&#39;, &#39;HalfBath&#39;, &#39;BedroomAbvGr&#39;,
       &#39;KitchenAbvGr&#39;, &#39;TotRmsAbvGrd&#39;, &#39;Fireplaces&#39;, &#39;GarageYrBlt&#39;,
       &#39;GarageCars&#39;, &#39;GarageArea&#39;, &#39;WoodDeckSF&#39;, &#39;OpenPorchSF&#39;,
       &#39;EnclosedPorch&#39;, &#39;3SsnPorch&#39;, &#39;ScreenPorch&#39;, &#39;PoolArea&#39;, &#39;MiscVal&#39;,
       &#39;MoSold&#39;, &#39;YrSold&#39;],
      dtype=&#39;object&#39;)</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>计算标准分布：(X-X')/s</p>
                    <p>让我们的数据点更平滑，更便于计算。</p>
                    <p>注意：我们这里也是可以继续使用Log的，我只是给大家展示一下多种“使数据平滑”的办法。</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[23]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span
                                class="n">numeric_col_means</span> <span class="o">=</span> <span
                                class="n">all_dummy_df</span><span class="o">.</span><span class="n">loc</span><span
                                class="p">[:,</span> <span class="n">numeric_cols</span><span class="p">]</span><span
                                class="o">.</span><span class="n">mean</span><span class="p">()</span>
<span class="n">numeric_col_std</span> <span class="o">=</span> <span class="n">all_dummy_df</span><span
                                    class="o">.</span><span class="n">loc</span><span class="p">[:,</span> <span
                                    class="n">numeric_cols</span><span class="p">]</span><span class="o">.</span><span
                                    class="n">std</span><span class="p">()</span>
<span class="n">all_dummy_df</span><span class="o">.</span><span class="n">loc</span><span class="p">[:,</span> <span
                                    class="n">numeric_cols</span><span class="p">]</span> <span class="o">=</span> <span
                                    class="p">(</span><span class="n">all_dummy_df</span><span class="o">.</span><span
                                    class="n">loc</span><span class="p">[:,</span> <span
                                    class="n">numeric_cols</span><span class="p">]</span> <span class="o">-</span> <span
                                    class="n">numeric_col_means</span><span class="p">)</span> <span class="o">/</span> <span
                                    class="n">numeric_col_std</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h2 id="Step-4:-&#24314;&#31435;&#27169;&#22411;">Step 4: &#24314;&#31435;&#27169;&#22411;<a
                            class="anchor-link" href="#Step-4:-&#24314;&#31435;&#27169;&#22411;">&#182;</a></h2><h4
                        id="&#25226;&#25968;&#25454;&#38598;&#20998;&#22238;-&#35757;&#32451;/&#27979;&#35797;&#38598;">
                    &#25226;&#25968;&#25454;&#38598;&#20998;&#22238; &#35757;&#32451;/&#27979;&#35797;&#38598;<a
                        class="anchor-link"
                        href="#&#25226;&#25968;&#25454;&#38598;&#20998;&#22238;-&#35757;&#32451;/&#27979;&#35797;&#38598;">&#182;</a>
                </h4>
                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[24]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span
                                class="n">dummy_train_df</span> <span class="o">=</span> <span
                                class="n">all_dummy_df</span><span class="o">.</span><span class="n">loc</span><span
                                class="p">[</span><span class="n">train_df</span><span class="o">.</span><span
                                class="n">index</span><span class="p">]</span>
<span class="n">dummy_test_df</span> <span class="o">=</span> <span class="n">all_dummy_df</span><span
                                    class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="n">test_df</span><span
                                    class="o">.</span><span class="n">index</span><span class="p">]</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[25]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">dummy_train_df</span><span
                                class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">dummy_test_df</span><span
                                class="o">.</span><span class="n">shape</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[25]:</div>


                        <div class="output_text output_subarea output_execute_result">
                            <pre>((1460, 303), (1459, 303))</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h4 id="Ridge-Regression">Ridge Regression<a class="anchor-link" href="#Ridge-Regression">&#182;</a>
                    </h4>
                    <p>用Ridge Regression模型来跑一遍看看。（对于多因子的数据集，这种模型可以方便的把所有的var都无脑的放进去）</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[26]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span
                                class="nn">sklearn.linear_model</span> <span class="k">import</span> <span class="n">Ridge</span>
<span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="k">import</span> <span
                                    class="n">cross_val_score</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>这一步不是很必要，只是把DF转化成Numpy Array，这跟Sklearn更加配</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[27]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">X_train</span> <span
                                class="o">=</span> <span class="n">dummy_train_df</span><span class="o">.</span><span
                                class="n">values</span>
<span class="n">X_test</span> <span class="o">=</span> <span class="n">dummy_test_df</span><span class="o">.</span><span
                                    class="n">values</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>用Sklearn自带的cross validation方法来测试模型</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[28]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alphas</span> <span
                                class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">logspace</span><span
                                class="p">(</span><span class="o">-</span><span class="mi">3</span><span
                                class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span
                                class="mi">50</span><span class="p">)</span>
<span class="n">test_scores</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">alpha</span> <span class="ow">in</span> <span class="n">alphas</span><span
                                    class="p">:</span>
    <span class="n">clf</span> <span class="o">=</span> <span class="n">Ridge</span><span class="p">(</span><span
                                    class="n">alpha</span><span class="p">)</span>
    <span class="n">test_score</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span
                                    class="n">sqrt</span><span class="p">(</span><span class="o">-</span><span
                                    class="n">cross_val_score</span><span class="p">(</span><span
                                    class="n">clf</span><span class="p">,</span> <span class="n">X_train</span><span
                                    class="p">,</span> <span class="n">y_train</span><span class="p">,</span> <span
                                    class="n">cv</span><span class="o">=</span><span class="mi">10</span><span
                                    class="p">,</span> <span class="n">scoring</span><span class="o">=</span><span
                                    class="s1">&#39;neg_mean_squared_error&#39;</span><span class="p">))</span>
    <span class="n">test_scores</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span
                                    class="n">np</span><span class="o">.</span><span class="n">mean</span><span
                                    class="p">(</span><span class="n">test_score</span><span class="p">))</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>存下所有的CV值，看看哪个alpha值更好（也就是『调参数』）</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[29]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span
                                class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span
                                class="nn">plt</span>
<span class="o">%</span><span class="k">matplotlib</span> inline
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">alphas</span><span
                                    class="p">,</span> <span class="n">test_scores</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">&quot;Alpha vs CV Error&quot;</span><span
                                    class="p">);</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt"></div>


                        <div class="output_png output_subarea ">
                            <img src="
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
GQ4HMzPL+P8xqzA0mSbmTQAAAABJRU5ErkJggg==
"
                            >
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>可见，大概alpha=10~20的时候，可以把score达到0.135左右。</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h4 id="Random-Forest">Random Forest<a class="anchor-link" href="#Random-Forest">&#182;</a></h4>
                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[30]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span
                                class="nn">sklearn.ensemble</span> <span class="k">import</span> <span class="n">RandomForestRegressor</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[31]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">max_features</span> <span
                                class="o">=</span> <span class="p">[</span><span class="o">.</span><span
                                class="mi">1</span><span class="p">,</span> <span class="o">.</span><span
                                class="mi">3</span><span class="p">,</span> <span class="o">.</span><span
                                class="mi">5</span><span class="p">,</span> <span class="o">.</span><span
                                class="mi">7</span><span class="p">,</span> <span class="o">.</span><span
                                class="mi">9</span><span class="p">,</span> <span class="o">.</span><span
                                class="mi">99</span><span class="p">]</span>
<span class="n">test_scores</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">max_feat</span> <span class="ow">in</span> <span
                                    class="n">max_features</span><span class="p">:</span>
    <span class="n">clf</span> <span class="o">=</span> <span class="n">RandomForestRegressor</span><span
                                    class="p">(</span><span class="n">n_estimators</span><span class="o">=</span><span
                                    class="mi">200</span><span class="p">,</span> <span
                                    class="n">max_features</span><span class="o">=</span><span class="n">max_feat</span><span
                                    class="p">)</span>
    <span class="n">test_score</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span
                                    class="n">sqrt</span><span class="p">(</span><span class="o">-</span><span
                                    class="n">cross_val_score</span><span class="p">(</span><span
                                    class="n">clf</span><span class="p">,</span> <span class="n">X_train</span><span
                                    class="p">,</span> <span class="n">y_train</span><span class="p">,</span> <span
                                    class="n">cv</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span
                                    class="n">scoring</span><span class="o">=</span><span class="s1">&#39;neg_mean_squared_error&#39;</span><span
                                    class="p">))</span>
    <span class="n">test_scores</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span
                                    class="n">np</span><span class="o">.</span><span class="n">mean</span><span
                                    class="p">(</span><span class="n">test_score</span><span class="p">))</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[32]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span
                                class="n">plot</span><span class="p">(</span><span class="n">max_features</span><span
                                class="p">,</span> <span class="n">test_scores</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">&quot;Max Features vs CV Error&quot;</span><span
                                    class="p">);</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt"></div>


                        <div class="output_png output_subarea ">
                            <img src="
AAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcXfP9x/HXO8T2E6JFQyypPdQSIqhtbBUq1RJLWm1S
lFqqKraq/hLlp5Sqragitmoa+1Zbw1RRJAQRS2LJMrW1iKURsnx+f3zPjGtyJ3MzM3fOvXPfz8cj
j8w959xzPvdOcj7nuysiMDMzA+iWdwBmZlY5nBTMzKyJk4KZmTVxUjAzsyZOCmZm1sRJwczMmjgp
mJlZEycF+wJJUyXNlvSlZtufkTRf0hodfL01s/N+mP35SNKEDjjvCEnXdkSMlUJSd0kjJU3OvqfX
JF2RfYeXSbqmyHs2yX6fPYvsGyXp047+7q26OSlYcwG8Dgxp3CDpa8BS2b5yXXP5iFguInpERL8y
XadkkhbLO4Yibgb2Ag4Elgc2BZ4CdgauBr4jaelm7/k+cGdEzGzhnGdn3/tCv/ti38eifkcV+p1a
M04KVsx1wNCC10OBLzyFStpT0tOSPpA0TdKIgn37S3pV0rLZ6z0kvSnpywu5populA6W9IKkdyXd
U1hSkXS+pOlZDOMkbZdt3x04BTig8OlX0uuSdi54/whJ12U/N5ZYDpY0DRibbd9a0qOS3pc0QdKO
Be8fln3OD7O/mxJpwTGrSJpV+KQuqZ+kf0taTNLakuolzZT0jqQ/t/A97ArsAnwrIp6OiPkR8VFE
XBoRoyLiceBfwL4F7+kGfJeUMBZJse9jId/RtyQ9L+k9SQ9K2qDgPK9LOlHSs8DHWUxWwfwLsmIe
B3pIWj/7T7w/cD1fvHF/DHw/IpYHvgn8WNK3ACJiDPAYcGFWDXUFcHBEvLuQay6QFCR9GzgZ+Daw
EvAPoPCm+SSwCbACcANwo6QlIuI+4EzgLyWUPJqXfnYANgB2l7QqcBfwq4hYATgeuFnSlyUtA1wA
7B4RywFfB55Z4OQRb2bfxb4Fm4cAYyJiHnA6cF9E9ARWAy5qIc5dgCcj4o2FfJbmyXw3YHHg3oW8
pzVN30exbZLWJX33x5B+R/cAd0pavOD4A4E9gJ4RMb8dsVgncFKwljTeYHYDXgK+cDOKiIcjYlL2
8/PAaGDHgkOOJt3I6oHbI+KehVxLwL+zp/H3JB2XbT8M+HVETM5uJmcBm0laPbvuDRExM3tq/h2w
JLB+Oz5zACMi4pOI+BQ4CLg7SzJExFhgPLBndvw8YGNJS0XE2xHxYgvn/TPpib3RgaQbKcAcYE1J
vSPis4h4rIVzfBl4s5X4rwN2yJIZpKqjG7Lk05ITsu+88bsfVbCv+fdRbNsBwF0R8WB2nXOBpUlJ
stEFEfFGwTmsgjkpWEuuJ93IhgELNNhK2iqrKnhH0kzgcGDFxv0R8QFwI7ARcF4r1wrgyxGxQkR8
KSIaj18TuCC7Wb0HvJsd2zuLYXhWtfS+pPeB5QpjaKOGgp/XBPZvvH52jW2BVSJiFumGeATwpqQ7
JbWUkG4CtpbUK6t+mh8Rj2b7TiD9P3xS0kRJP2zhHO8Cqyws8IiYQSpNHSTpf0glrKtb+bznZN95
43ff/PoNRd5TuG1VYFpBDAHMIPsdLeQcVqGcFKyoiJhOanDeA7ilyCF/Am4DemdVH3+goApI0mbA
waSn5JaqRAoVa1OYDhye3awab1zLRsTjWfvBicDgbPsKwIcF5ynWKP5fYJmC172KHFP4vhnAtc2u
3yMifgMQEQ9ExDey87wM/LHYB8sS5P2kJDKEgiqwiHgnIg6LiN7Aj4FLJK1V5DR/AwYUlAJacg2p
hLcv8FpEPNvK8a0p9j0WbnuDlDwLrc4XE4GnYq4iTgq2MAcDO0fEJ0X2LQu8HxFzJA2goHpE0lKk
qoyTs3OsKumIhVynaCMzKdGcImnD7LzLSxqc7etBqnp5V9ISkv4329bobaCPpMJzPwMcKGlxSf2B
wXxR8ziuBwZJ+oakbpKWkrSjpFUlrSxpUNa2MIfUxjJ3IZ/xz8APgH34vOoISYMlNT5VzwTmk6ql
viCrunoAuFXS5lkj9bKSDpc0rODQm0k35dNo1jmgDYr9XppvGwN8U9JO2fd6PDAb+Gc7r205cVKw
5pqe6iLi9Yh4utg+4EjgdEkfAKcCfynYdyYwPSIuj4jPSHXbp0tau7VrfmFjxG2kdoTRWRXVc8DA
bPd9pAbUyaQSzSzSk32jG0k3sHcljc+2/RJYB3gPGEEq7bQYR0Q0AHuTejL9m1RNcjzp/003YDip
x89/SI2vR7bw+QDuANYF3oqIiQXbtwSekPQhqeR1TERMK3YCUhL7K+m7nglMBLYglSIaY55FSgy9
i3y+Yk7UF8cpvFOwr7VSAhExmdT2cjHpO/omMCgi5hY73iqfSllkR9JA4HzSf4QrI+LsZvu3z/Zv
AhwQEbc0298DeBG4JSKOybbdQyp2L06qBz0qvOKPmVmuWi0pZF0SLyZ1SdsIGFLYDzkzjVSP2dKT
yemkXiiF9ouIfhGxMbAysN8ixG1mZmVQSvXRAGBKREyLiDmkrod7Fx4QEdOzbokLPOlL2oJ007+/
2Xs+zvZ3B5Yo9l4zM+tcpSSF3nyxrraBL3Y3a1HWyHcuqdtdscFJ9wJvkXqN3FTKOc3MrHxKSQrF
eiCU+lR/JGnwz7+KnSsiBpL6Xi9Jmr/FzMxytHjrh9AAFM6MuRrNRrcuxDbAdpKOJHUX7C7po4g4
pfGAiPhM0p2kKqmxzU8gydVKZmZtEBEtdfduUSklhXHAOtlkWEuQhujfsZDjm4KIiIMiok9ErEXq
yndtRJwi6X8k9QLI5kjZkzSVQlERUVF/RowYkXsMjqlrxeWYHFNH/2mrVpNCpPlMjiY1FE8CRkfE
i5JOk7RXdmPvL2kGqR/1ZZImtnxGAP4HuEPSM8AE0kCjy9r8KczMrEOUUn1ERNxLs4nGImJEwc/j
SaMoF3aOa8hGWEbEO6ReTWZmVkE8orkN6urq8g5hAY6pdJUYl2MqjWMqv5JGNOdJUlR6jGZmlUYS
UaaGZjMzqxFOCmZm1sRJwczMmjgpmJlZEycFMzNr4qRgZmZNnBTMzKrcrFkddy4nBTOzKhYBO+0E
Dz/cMedzUjAzq2JjxsC8ebDddh1zPo9oNjOrUp9+ChtuCFdckUoLhTyi2cysxlx6KfTtu2BCaA+X
FMzMqtDMmbDeevDQQ7DRRgvud0nBzKyG/PrXsPfexRNCe7ikYGZWZaZNg803h4kTYdVVix/jkoKZ
WY049VQ46qiWE0J7lLTympmZVYYJE+Bvf4PJk8tzfpcUzMyqRASccAKMGAE9epTnGk4KZmZV4r77
oKEBDjmkfNdwUjAzqwLz5qVSwtlnQ/fu5buOk4KZWRW45hro2RO+9a3yXsddUs3MKtysWWmg2s03
w1ZblfYed0k1M+uifvc7+PrXS08I7eGSgplZBXvnnTTp3RNPwNprl/6+tpYUnBTMzCrY0UfD4ovD
+ecv2vvamhSqYvDaJ5/A0kvnHYWZWeeaPBn+8hd48cXOu2ZVtClcf33eEZiZdb6f/xyOPx5WXLHz
rllSUpA0UNJLkiZLOqnI/u0lPSVpjqR9iuzvIalB0oXZ66Ul3SXpRUkTJZ25sOufdx7Mn1/qRzIz
q36PPgrjxsExx3TudVtNCpK6ARcDuwMbAUMkbdDssGnAUOBPLZzmdKC+2bZzIqIv0A/YTtLuLcWw
9NLw17+2FqmZWdfQOJ3FGWd0ftV5KSWFAcCUiJgWEXOA0cDehQdExPSIeB5YoEVY0hbAysD9Bcd/
EhF/z36eCzwNrNZSAMOHw29/W0KkZmZdwC23pLEJBx3U+dcuJSn0BmYUvG7ItrVKkoBzgROAoq3g
knoCg4CxLZ1n//3hlVfg6adLuaqZWfX67DM4+WQ45xzolkOrbymXLHYzL7WP6JHA3RHxr2LnkrQY
cANwfkRMbekk3bvDT3/q0oKZdX2XX57GI+y2Wz7XL6VLagOwRsHr1YA3Sjz/NqT2giOBHkB3SR9F
xCnZ/suBlyPiooWdZOTIkcyenYpUY8bUsf/+dSVe3sysenzwQWpHuP/+1o9trr6+nvr6+nbH0Org
texp/mVgF+BN4ElgSEQs0HNW0ijgroi4uci+ocAWEXFM9voMYP2I2K+V6zcNXjvuOFhssVSsMjPr
an7xC3jjDRg1qv3nKuuIZkkDgQtI1U1XRsRZkk4DxkXEXZL6A7cCPYHZwFsRsXGzczQlBUmN7RQv
Ap+RqqMujoirily7KSk0rkv6+uuw3HKL+lHNzCpXQwNsuik8+yys1mK3m9LVzDQXBx4IAwakUoOZ
WVfxwx/CKqvAmQsdtVW6mkkK48bB4MHw6qtpPhAzs2r33HOpYXnyZFh++Y45Z81Mnb3lltCnD9x0
U96RmJl1jBNPhFNP7biE0B5VlxQgDWY799w06s/MrJo98ECq+Tj88LwjSaoyKey1F3z0ETz8cN6R
mJm13fz5qZRw1lmwxBJ5R5NUZVLo1g1+9jMPZjOz6nb99Wluo30WmEY0P1XX0Nxo1qzUtvCPf8D6
63d+XGZm7fHJJ+ne9ec/w7bbdvz5a6ahudEyy8ARR6S1S83Mqs2FF0L//uVJCO1RtSUFSGuXrr9+
6sa10kqdHJiZWRv95z/Qt29aM2G99cpzjZorKQCsvHIas3DJJXlHYmZWujPOgAMOKF9CaI+qLilA
Wru0rg6mTvU6zmZW+V59FbbaCl54IT3YlktNlhQgFcH69/c6zmZWHU45JfWeLGdCaI+qLykAPPgg
HHUUTJqUz6IUZmaleOIJ2Hff1A66zDLlvVbNlhQAdtopVR3dc0/ekZiZFde47vKvflX+hNAeXSIp
SF7H2cwq2x13wPvvw9CheUeycF2i+ghgzhxYay24/fa05oKZWaWYMwc23jiNq9pjj865Zk1XH0Fa
x/mYY1xaMLPKc+WVaeGcgQPzjqR1XaakADBzZiotPPssrL56mQMzMyvBRx+l8Qh33925tRg1X1IA
6NkThg1Lw8fNzCrBuefCrrtWT7V2lyopgNdxNrPK8cYbqS3h6adhzTU799ouKWTWXDMta3fFFXlH
Yma1bsQIOOSQzk8I7dHlSgrgdZzNLH+TJqUxVJMnp6rtzuaSQoEtt0yZ2es4m1leTjoJfv7zfBJC
e3TJpABw/PGpe2qFF4TMrAt66KE04d2RR+YdyaLrsklhr73gww/TymxmZp1l/vw0ncWvfw1LLpl3
NIuuyyYFr+NsZnkYPTrdf/bfP+9I2qZLNjQ38jrOZtaZPv0UNtgArr4adtwx31jc0FzEMsvAj3/s
dZzNrHNcfHEal5B3QmiPLl1SAHj77ZS5vY6zmZXTe++lGomHH06Lf+XNJYUWfOUraczCpZfmHYmZ
dWVnnpkW0KmEhNAeJSUFSQMlvSRpsqSTiuzfXtJTkuZI2qfI/h6SGiRdWLDtDEnTJX3Yvo/QuuOO
g0sugdmzy30lM6tFr78Oo0bByJF5R9J+rSYFSd2Ai4HdgY2AIZI2aHbYNGAo8KcWTnM6UN9s2x3A
losSbFv17QtbbAHXXdcZVzOzWnPqqWnq/l698o6k/UopKQwApkTEtIiYA4wG9i48ICKmR8TzwAKV
/5K2AFYG7m/2nicj4u02R76Ihg+H885LfYjNzDrK+PFpsNrw4XlH0jFKSQq9gRkFrxuyba2SJOBc
4ARgkRs8OtJOO8FSS3kdZzPrOI3rLo8cCcsum3c0HaOU6eKK3cxL7Q50JHB3RPwr5Ye2JYaRBRV1
dXV11NXVLfI5pM+nvvjmN9sShZnZ5z78MLVXvvceHHxw3tFAfX099fX17T5Pq11SJW0NjIyIgdnr
k4GIiLOLHDsKuDMibsleXw9sB8wHegDdgUsi4pSC93wYES2ufNDeLqmFvI6zmXWEBx6AQw9Ny2ue
c05lrt3S1i6ppZQUxgHrSFoTeBM4EBiysFgaf4iIgwoCHApsUZgQmh9fboXrOP+ppSZxM7MWfPRR
qnG491744x/hG9/IO6KO12qbQkTMA44mNRRPAkZHxIuSTpO0F4Ck/pJmAIOByyRNbO28ks7O3rN0
1jX1f9v1SUr0ox+ldoUZM1o/1sys0dixabTy/Pnw3HNdMyFADYxoLuZnP0uL75xzToee1sy6oI8/
hhNPhLvugssvT1VG1cAjmhfBT38KV12VGorMzFry0EOwySZp4Otzz1VPQmiPmkwKffqkdZyvvDLv
SMysEn38MRx9NHz/+2mSu6uuqr4V1NqqJpMCpIEm558Pc+fmHYmZVZK//x023TQ1Kk+cCHvumXdE
natmk4LXcTazQv/9b6pa/t730gPjNdfACivkHVXnq9mkAKm04HWczewf/0ilg/feS20HgwblHVF+
ajopDBoEH3zgdZzNatWsWak34gEHpAfE666DL30p76jyVdNJoVu3NEzd6zib1Z7HHoPNNoN33klt
B3vv3fp7akFNjlMo5HWczWrLJ5/AL38JN9wAv/89fOc7eUdUHh6n0EZex9msdjz+OPTrBw0Nqe2g
qyaE9qj5kgJ4HWezrm72bBgxAq69Fi66KC3R29W5pNAOX/lKWlvV6zibdT1PPplmRX7tNXj22dpI
CO3hkkLmhRdg551h6tS0GI+ZVbdPP02L34waBRdeCPvvn3dEncslhXbacMO0jvP11+cdiZm11/jx
6f/zyy+n0kGtJYT2cEmhwIMPpvlOnn8+dVc1s+ry6adw+ulprYPzz4cDD0yrLtYilxQ6wE47wZJL
eh1ns2r09NPQv396qHv2WRgypHYTQns4KRSQPp/6wsyqw2efpZ5Fe+wBJ50Et94KvXrlHVX1clJo
5oADUtfUCRPyjsTMWvPMMzBgQColTJgABx3k0kF7OSk00717minRpQWzyjVnDpx2WloS87jj4I47
YNVV846qa3BDcxEzZ8Jaa6V6ydVX79RLm1krnnsOhg2DVVZJy2P27p13RJXJDc0dqGdPGDo09W02
s8owZ07qWbTrrvCTn6Q1k50QOp5LCi2YOjX1c379dVhuuU6/vJkVeP759KC20kqpu6lL8K1zSaGD
9emTnki8jrNZfubOhTPPTN3FjzgidRd3QigvlxQWYtw42G8/eOUVWHzxXEIwq1kvvJBKBz17poez
NdbIO6Lq4pJCGWy5ZfqHePPNeUdiVjvmzoWzz4Ydd4Qf/Qjuv98JoTO5pNCK22+HM85IMy26/7NZ
eb34YupZtOyyqXTQp0/eEVUvlxTKxOs4m5XfvHlwzjmwww4pKTzwgBNCXlxT3opu3dLC3r/9bfoH
a2Yd6+WX4Yc/TPOOPfkkfPWreUdU21xSKMHQofDPf6bpL8ysY8ybB+edB9tuC9/9Lowd64RQCUpK
CpIGSnpJ0mRJJxXZv72kpyTNkbRPkf09JDVIurBg2+aSnsvOeX77PkZ5eR1ns441ZUpqSL7tNnji
iTRlvaerrwyt/hokdQMuBnYHNgKGSNqg2WHTgKHAn1o4zelAfbNtlwKHRsR6wHqSdl+EuDvdUUfB
6NHw73/nHYlZ9Zo/Hy64ALbZJi18U18Pa6+dd1RWqJTcPACYEhHTImIOMBrYu/CAiJgeEc8DC3QT
krQFsDJwf8G2XkCPiHgy23Qt8O22fYTO4XWczdrnlVegrg5uvDFVxx5zjEsHlaiUX0lvYEbB64Zs
W6skCTgXOAEo7BrVOzvPIp8zT8cdB5dcArNn5x2JWfWYPx8uugi23hq+8x34+99h3XXzjspaUkrv
o2L9XEsdOHAkcHdE/Etf7OS/SOccOXJk0891dXXU1dWVePmOteGGsPnmaR3nQw/NJQSzqvLaa3Dw
wWkhnEcfhfXXzzuirqu+vp76+vp2n6fVwWuStgZGRsTA7PXJQETE2UWOHQXcGRG3ZK+vB7YD5gM9
gO7AJcCFwEMR0Tc77kBgx4g4osg5cx281pzXcTZr3fz5cNllaUW0k0+GY4+FxRbLO6ra0tbBa6WU
FMYB60haE3gTOBAYsrBYGn+IiIMKAhwKbBERp2SvP5Q0IDv/D0iJouI1ruN8772w5555R2NWeaZO
hUMOgf/+Nw363KB5txSraK0+60bEPOBoUkPxJGB0RLwo6TRJewFI6i9pBjAYuEzSxBKufSRwJTCZ
1JB9b1s/RGdqXMf53HPzjsSsskTAH/6Q5gzbffdUXeSEUH0891EbzJmTBtnceSf065d3NGb5mzYt
tbN98AFcfXVqf7N8ee6jTtS9e+pO53WcrdZFpEVv+veHXXaBxx5zQqh2Lim0UeM6zs89B6utlnc0
Zp1vxow0tfV//pNKB1/7Wt4RWSGXFDqZ13G2WhWRprXefHPYfvs0EM0JoetwSaEdvI6z1ZqGhlQ6
ePvtVDrYZJO8I7KWuKSQA6/jbLUiIiWBzTdP8xY98YQTQlflkkI7PflkmtjL6zhbV/XGG3DYYamU
cPXVsNlmeUdkpXBJIScDBsDqq3sdZ+t6IuC661IS6N8/PQA5IXR9Lil0gNtvh//7v1Sk9jrO1hW8
9RYcfnhqL2usNrLq4pJCjgYNSl1UH3kk70jM2u8f/0gdKDbeGMaPd0KoNU4KHaBxHWdPfWHVLAIu
vhgGD06dJ844A5ZYIu+orLO5+qiDzJqVeiM98gist17e0Zgtmk8+SUvOTpgAt97q1dC6Alcf5WyZ
ZVIdrNdxtmozbRpst11a8+Cf/3RCqHUuKXSgt99Os0JOmQIrrph3NGate/BB+O534cQTUxWoO0p0
HS4pVACv42zVIiJN6Pi978ENN6SlZp0QDFxS6HAvvAA775ymwFhqqbyjMVvQf/+bprmeMgVuuQXW
WCPviKwcXFKoEIXrOJtVmldfTdNULLlk6nrqhGDNOSmUwfDhcN55aZ1as0px773w9a+nDhGjRsHS
S+cdkVUiJ4Uy2Hnn1L/73qpYYNS6ugg488y0bvJNN8FRR7n9wFrmNoUyuf769DQ2dmzekVgt+/BD
GDYM3nwzJYTevfOOyDqL2xQqzAEHwOTJaTCQWR5efhm22gpWXhnq650QrDROCmXSvTv85Cdex9ny
cfvtaVW04cPhsstSw7JZKVx9VEZex9k62/z5MHJkqrq86aZUUrDa1NbqIyeFMjv22NTo/Jvf5B2J
dXUzZ6bBaB99BDfemAZTWu1ym0KFOvZYuOqq9B/VrFyefx623BLWWSd1bnBCsLZyUiizPn1gl128
jrOVz403wk47wf/+L1xwQWrPMmsrVx91Aq/jbOUwdy784hcwZkxaDtaL4VghVx9VMK/jbB3t3Xdh
jz3gqadg3DgnBOs4TgqdZPjw1D21ygs9VgEmTID+/aFfvzRq3tO0W0cqKSlIGijpJUmTJZ1UZP/2
kp6SNEfSPgXb15A0XtLTkiZKOrxg3wGSns22n9UxH6dyDRoE77/vdZytfa6/Hr7xDTjrrNSjzdWR
1tFabVOQ1A2YDOwCvAGMAw6MiJcKjlkDWA44HrgjIm7Jti+eXWOOpGWAScA2wGfABKBfRLwnaRRw
bUQ8VOT6Vd+m0OjSS+G+++C22/KOxKrNnDlw/PFw991pucyNN847Iqt05WxTGABMiYhpETEHGA3s
XXhAREyPiOeBaLZ9bvYegKWBxgDXAl6OiPey12OBfRc1+GozdCg89lia/sKsVG+/DbvumtY/GDfO
CcHKq5Sk0BuYUfC6IdtWEkmrSXoWmAacHRFvAa8AG2TVS4sD3wZWLz3s6uR1nG1RPflkGn+www5w
552wwgp5R2RdXSk1ksWKHyXX50REA7CppF7A7ZJuioh/SzoCGAPMAx4jlR6KGjlyZNPPdXV11NXV
lXr5inPUUdC3L5x+uhsIbeGuvBJ+/nO4/HL49rfzjsYqXX19PfX19e0+TyltClsDIyNiYPb6ZCAi
4uwix44C7mxsUyiy/yrgrub7Jf0IWDsiTi7yni7TptDokEPSoLZf/jLvSKwSffop/PSnaWbT226D
DTbIOyKrRuVsUxgHrCNpTUlLAAcCdywsloKgektaKvt5BWBb4OXs9UoF248ErljU4KvVccfB738P
s2fnHYlVmjfeSKOT3347VR05IVhnazUpRMQ84GjgflLvodER8aKk0yTtBSCpv6QZwGDgMkkTs7f3
BZ6QNAF4CPhNREzK9l0gaRLwD+DMiHilQz9ZBdtoozTY6E9/yjsSqySPPJLaD/bcMw10XG65vCOy
WuRpLnIydmxab+H556GbhxDWtIjUXXnkSLjmmjRS2ay92lp95KEvOSlcx3nPPfOOxvIyezYccQSM
H5+6K6+zTt4RWa3zM2pOpM+nvrDaNH16Wh1t1iz45z+dEKwyOCnk6IAD0jq6zzyTdyTW2R56KK2K
dsABMHo0LLts3hGZJU4KOVpiCTjmGJcWakkEnHceDBkC112Xpq7QItf6mpWPG5pz5nWca8esWXDo
ofDSS3DLLWmsilm5eD2FKtWzJ/zgB3DhhXlHYuX02muwzTZpVtNHH3VCsMrlkkIFeP31ND/+1KnQ
o0fe0VhHu+++lPhPPRWOPtrVRdY5XFKoYl/9qtdx7ooi4Ne/hh/+MK2j/JOfOCFY5XNJoUI88UTq
ieJ1nLuGjz6CYcOgoSGNTnZ7kXU2lxSq3FZbpXWcbyk6laBVk5dfTr/PL30JHn7YCcGqi5NCBRk+
HM491+s4V7M770wD0o49Fv74R1hyybwjMls0TgoVxOs4V6/589PcRUccAbffDocdlndEZm3j2usK
sthi8LOfpcFs22+fdzRWqpkz4fvfT3+PHw+9euUdkVnbuaRQYYYNSxOjTZmSdyRWikmTYMCANO5g
7FgnBKt+TgoVxus4V4+bboK6OvjFL+Cii9K0JWbVzl1SK9Bbb6V1nKdM8TrOlWjevJQIRo9O3U23
2CLviMwW5C6pXUivXrDPPmnhFass776b1r8YNy79cUKwrsZJoUJ5HefK88wzabnMjTdOU1estFLe
EZl1PCeFCrXRRtCvn9dxrhQ33AC77QZnnpnGknjUuXVVblOoYF7HOX9z5sCJJ8Idd8Ctt8Imm+Qd
kVlp3KZ/DFjNAAAK1UlEQVTQBRWu42yd7513UungxRdT+4ETgtUCJ4UK5nWc8zNuXGo/2HZbuPvu
NI+RWS1w9VGF++yztDLbXXfBZpvlHU1tuOoqOOkk+MMfUi8ws2rU1uojJ4UqcPbZqV3huuvyjqRr
++yzNJHd2LGp/WDDDfOOyKztnBS6MK/jXH5vvgmDB6fBgtdeC8svn3dEZu3jhuYurHEd54suyjuS
rumxx1L7wcCBqYTghGC1zCWFKuF1nDteBFx2GYwYAaNGwTe/mXdEZh3HJYUuzus4d6zZs+HQQ9Oo
8UcfdUIwa1RSUpA0UNJLkiZLOqnI/u0lPSVpjqR9CravIWm8pKclTZR0eMG+IZKek/SMpL9Kcqe/
VgwfDuefD3Pn5h1JdZsxA3bYAT78EB5/HNZdN++IzCpHq0lBUjfgYmB3YCNgiKQNmh02DRgKNJ+U
4Q1gm4jYHNgKOFlSL0mLAecDO0bEZsBE4Oh2fZIa4HWc2ycCHnwwrX8weDCMGQPLLpt3VGaVpZQZ
XAYAUyJiGoCk0cDewEuNB0TE9GzfFyr/I6LwmXZpoLF+q/HvHpJmAssBXlamBMOHp/l39tsvDW6z
Bb33HkyenKYeb/53z56pd9Fuu+UdpVllKiUp9AZmFLxuICWKkkhaDbgbWBs4ISLeyrYfSSohfExK
CEeWes5aNmgQnHBCWse5lpfs/Pjj4jf9yZNT9dp666VqofXWS99Z4+uePfOO3KyylZIUij2Pltwd
KCIagE0l9QJul3QT8D5wBLBpREyVdBFwCvB/pZ63VtXSOs6zZ8Orrxa/+c+cCeus8/nNfqed4LDD
0uuVVnIpyqytSkkKDcAaBa9XI7UVLJKIeEvSJGB7YHraFFOz3WOABRqwG40cObLp57q6Ourq6hb1
8l3KsGGpG+WUKdXfSDp3bupmW+yJ/6230trHjU/8W2wBQ4ak1717e+ZYs0L19fXU19e3+zytjlPI
GoVfBnYB3gSeBIZExItFjh0F3BURN2evewPvRsRsSSsAjwP7AO8B44FNIuJdSb8Clo6IE4qc0+MU
ijj11FR3fskleUfSuvnzoaGh+I1/+nRYZZUvVvc0/r3mml63wKytyjrNhaSBwAWk3kpXRsRZkk4D
xkXEXZL6A7cCPYHZwFsRsbGkXYHfAvNJ1VAXRcSV2TkPA44FPiP1XhoWEe8XubaTQhFvvZXm5pky
Bb785byjST173n67eFXPq6/CCisUv/GvtRYsuWTe0Zt1PZ77qAYdckga1HbqqZ13zfffb7lnz5JL
LnjTX3fdVPfvrp9mnctJoQZNmpRGOU+dCkst1XHn/fhjeOWV4jf/zz4r/sS/7rqpNGBmlcFJoUbt
sUcaiHXIIYv2vk8/bblnz/vvw9prF7/5r7yye/aYVQMnhRr1t7/BT3+a1ltofrOeOxemTSv+xP/m
m6kht9gT/2qruWePWbVzUqhREdCvX5pae5llvnjznzoVevUq/sTfp4979ph1ZU4KNezOO9NgtsIb
/7rrpiqgjmxrMLPq4aRgZmZNvJ6CmZm1m5OCmZk1cVIwM7MmTgpmZtbEScHMzJo4KZiZWRMnBTMz
a+KkYGZmTZwUzMysiZOCmZk1cVIwM7MmTgpmZtbEScHMzJo4KZiZWRMnBTMza+KkYGZmTZwUzMys
iZOCmZk1cVIwM7MmTgpmZtbEScHMzJo4KZiZWZOSkoKkgZJekjRZ0klF9m8v6SlJcyTtU7B9DUnj
JT0taaKkw7Pty0qakG2fIOnfks7ruI9lZmZt0WpSkNQNuBjYHdgIGCJpg2aHTQOGAn9qtv0NYJuI
2BzYCjhZUq+I+Dgi+kXE5hHRL3v/ze38LJ2mvr4+7xAW4JhKV4lxOabSOKbyK6WkMACYEhHTImIO
MBrYu/CAiJgeEc8D0Wz73Ow9AEsDan5ySesCK0XEo235AHmoxH8Ejql0lRiXYyqNYyq/UpJCb2BG
weuGbFtJJK0m6VlSaeDsiHir2SEHAn8p9XxmZlY+pSSFBZ7uaVYiWJiIaIiITYF1gGGSVmp2yIHA
n0s9n5mZlY8iFn5/l7Q1MDIiBmavTwYiIs4ucuwo4M6IuKWFc10F3NW4X9ImwJiIaN5GUfiekhOQ
mZl9LiKKPdQv1OIlHDMOWEfSmsCbpCf7IQs5vikISb2BdyNitqQVgG2B3xYcO4RWSglt+VBmZtY2
rVYfRcQ84GjgfmASMDoiXpR0mqS9ACT1lzQDGAxcJmli9va+wBOSJgAPAb+JiEkFp98PVx2ZmVWM
VquPzMysdlTEiOa2Do6rgLh+JmmSpGckPSBp9QqI6XBJz2WDAh8uMqak02MqOG6wpPmSNs87JklD
Jb2TDaB8WtLBeceUHbN/9m9qoqTryx1TKXFJOq9gsOnLkt6rgJhWl/RgFtMzkvaogJjWkPQ3Sc9m
sa3aCTFdKeltSc8t5JgLJU3JvqfNWj1pROT6h5SYXgHWBLoDzwAbNDtmDeBrwNXAPhUU147AUtnP
PyZVreUd07IFPw8C7sk7psa4gL8DjwGb5x0TabDlhZ3xb2kRYloHeApYLnu9YiXE1ez4o4Er8o4J
+ANwePZzX+D1CohpDHBQ9nMdcG0n/P62AzYDnmth/x7A3dnPWwGPt3bOSigptHlwXAXE9feImJ29
fJxFGL9Rxpg+Lni5LDA/75gypwNnA5+WOZ5FiakzOzGUEtOPgN9HxIcAEfGfComrUKudQzoppvnA
ctnPPYF/VUBMGwIPAkREfZH9HS4iHgHeX8ghewPXZsc+ASwv6SsLO2clJIV2DY4ro0WN6xDgnrJG
VGJMko6U9ApwFnBM3jFlRdbVIuKvZY6l5Jgy+2RF6jGSVquAmNYD1pf0iKTHJO1e5phKjQtI1SNA
H7IbX84xnQZ8P+vgchfwkwqI6RlgX4CsmnvZrNdlnprH/S9aub9WQlJo1+C4Mio5LkkHAVsA55Q1
ohJjiohLImId4CTgl3nGJEnA74Dhrbyn02LK3AH0iYjNgLHANRUQ0+KkKqQdgO8CV0haboF3dX5c
jQ4EboqsLqKMSolpCDAqIlYHvgmUu/2llJhOAOokPQVsT7oBzy1zXK1Z5PtrJSSFBlKbQaPVSBPp
5a2kuCTtCvwcGBSfz/OUa0wF/gJ8u6wRtR5TD9JEivWSXge2Bm4vc2Nzq99TRLxf8Pv6Iympl1Mp
v7sG4PaImB8RU4GXgXUrIK5GnTX7QCkxHUKqwyciHgeWkrRinjFFxJsRsW9EbAGcmm37qIwxlaIB
KOwA0/r9tdwNISU0lCzG5w04S5CKYH1bOHYUsG+lxAX0y45Zu4JiWqfg50HAk3nH1Oz4h4B+eccE
9Cr4+TvAYxUQ0+7A1dnPK5LmC1sh77iy49YHXitnLIv4Xd0NDM1+7gs0VEBMX+bzbv5nkGaC6Izv
qw8wsYV9e/J5Q/PWlNDQXPaAS/xQA0lPRVOAk7NtpwF7ZT/3J9WLfQT8u6UvIIe4HiCN8n4amADc
VgExnQ88n8U0dmE36M6KqdmxD1Lm3kclfk9nZt/ThOx7Wi/vmLLXvyUNEn0W2K/cMS1CXCOAMzsj
nhJ/f32BR7Kb89PALhUQ077AZOAl4HKgeyfEdAPpyf9TYDrwQ+Bw4LCCYy4mJbRnS/m/58FrZmbW
pBLaFMzMrEI4KZiZWRMnBTMza+KkYGZmTZwUzMysiZOCmZk1cVIwM7MmTgpmZtbk/wFZP8Bd0neL
OQAAAABJRU5ErkJggg==
"
                            >
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>用RF的最优值达到了0.137</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h2 id="Step-5:-Ensemble">Step 5: Ensemble<a class="anchor-link" href="#Step-5:-Ensemble">&#182;</a>
                    </h2>
                    <p>这里我们用一个Stacking的思维来汲取两种或者多种模型的优点</p>
                    <p>首先，我们把最好的parameter拿出来，做成我们最终的model</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[33]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">ridge</span> <span
                                class="o">=</span> <span class="n">Ridge</span><span class="p">(</span><span class="n">alpha</span><span
                                class="o">=</span><span class="mi">15</span><span class="p">)</span>
<span class="n">rf</span> <span class="o">=</span> <span class="n">RandomForestRegressor</span><span
                                    class="p">(</span><span class="n">n_estimators</span><span class="o">=</span><span
                                    class="mi">500</span><span class="p">,</span> <span
                                    class="n">max_features</span><span class="o">=.</span><span class="mi">3</span><span
                                    class="p">)</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[34]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">ridge</span><span
                                class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span
                                class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="n">rf</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span
                                    class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[34]:</div>


                        <div class="output_text output_subarea output_execute_result">
<pre>RandomForestRegressor(bootstrap=True, criterion=&#39;mse&#39;, max_depth=None,
           max_features=0.3, max_leaf_nodes=None, min_impurity_split=1e-07,
           min_samples_leaf=1, min_samples_split=2,
           min_weight_fraction_leaf=0.0, n_estimators=500, n_jobs=1,
           oob_score=False, random_state=None, verbose=0, warm_start=False)</pre>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>上面提到了，因为最前面我们给label做了个log(1+x), 于是这里我们需要把predit的值给exp回去，并且减掉那个"1"</p>
                    <p>所以就是我们的expm1()函数。</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[39]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y_ridge</span> <span
                                class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">expm1</span><span
                                class="p">(</span><span class="n">ridge</span><span class="o">.</span><span class="n">predict</span><span
                                class="p">(</span><span class="n">X_test</span><span class="p">))</span>
<span class="n">y_rf</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">expm1</span><span
                                    class="p">(</span><span class="n">rf</span><span class="o">.</span><span class="n">predict</span><span
                                    class="p">(</span><span class="n">X_test</span><span class="p">))</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>一个正经的Ensemble是把这群model的预测结果作为新的input，再做一次预测。这里我们简单的方法，就是直接『平均化』。</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[40]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y_final</span> <span
                                class="o">=</span> <span class="p">(</span><span class="n">y_ridge</span> <span
                                class="o">+</span> <span class="n">y_rf</span><span class="p">)</span> <span
                                class="o">/</span> <span class="mi">2</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <h2 id="Step-6:-&#25552;&#20132;&#32467;&#26524;">Step 6: &#25552;&#20132;&#32467;&#26524;<a
                            class="anchor-link" href="#Step-6:-&#25552;&#20132;&#32467;&#26524;">&#182;</a></h2>
                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[41]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">submission_df</span> <span
                                class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span
                                class="p">(</span><span class="n">data</span><span class="o">=</span> <span
                                class="p">{</span><span class="s1">&#39;Id&#39;</span> <span class="p">:</span> <span
                                class="n">test_df</span><span class="o">.</span><span class="n">index</span><span
                                class="p">,</span> <span class="s1">&#39;SalePrice&#39;</span><span
                                class="p">:</span> <span class="n">y_final</span><span class="p">})</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>我们的submission大概长这样：</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[42]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span><span class="n">submission_df</span><span
                                class="o">.</span><span class="n">head</span><span class="p">(</span><span
                                class="mi">10</span><span class="p">)</span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

            <div class="output_wrapper">
                <div class="output">


                    <div class="output_area">
                        <div class="prompt output_prompt">Out[42]:</div>

                        <div class="output_html rendered_html output_subarea output_execute_result">
                            <div>
                                <table border="1" class="dataframe">
                                    <thead>
                                    <tr style="text-align: right;">
                                        <th></th>
                                        <th>Id</th>
                                        <th>SalePrice</th>
                                    </tr>
                                    </thead>
                                    <tbody>
                                    <tr>
                                        <th>0</th>
                                        <td>1461</td>
                                        <td>119595.627405</td>
                                    </tr>
                                    <tr>
                                        <th>1</th>
                                        <td>1462</td>
                                        <td>152127.359971</td>
                                    </tr>
                                    <tr>
                                        <th>2</th>
                                        <td>1463</td>
                                        <td>174472.484621</td>
                                    </tr>
                                    <tr>
                                        <th>3</th>
                                        <td>1464</td>
                                        <td>189936.942219</td>
                                    </tr>
                                    <tr>
                                        <th>4</th>
                                        <td>1465</td>
                                        <td>193934.290197</td>
                                    </tr>
                                    <tr>
                                        <th>5</th>
                                        <td>1466</td>
                                        <td>175889.222850</td>
                                    </tr>
                                    <tr>
                                        <th>6</th>
                                        <td>1467</td>
                                        <td>177835.726832</td>
                                    </tr>
                                    <tr>
                                        <th>7</th>
                                        <td>1468</td>
                                        <td>169239.114752</td>
                                    </tr>
                                    <tr>
                                        <th>8</th>
                                        <td>1469</td>
                                        <td>184864.220939</td>
                                    </tr>
                                    <tr>
                                        <th>9</th>
                                        <td>1470</td>
                                        <td>123773.699896</td>
                                    </tr>
                                    </tbody>
                                </table>
                            </div>
                        </div>

                    </div>

                </div>
            </div>

        </div>
        <div class="cell border-box-sizing text_cell rendered">
            <div class="prompt input_prompt">
            </div>
            <div class="inner_cell">
                <div class="text_cell_render border-box-sizing rendered_html">
                    <p>走你~</p>

                </div>
            </div>
        </div>
        <div class="cell border-box-sizing code_cell rendered">
            <div class="input">
                <div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div>
                <div class="inner_cell">
                    <div class="input_area">
                        <div class=" highlight hl-ipython3"><pre><span></span>
</pre>
                        </div>

                    </div>
                </div>
            </div>

        </div>
    </div>
</div>
</body>
</html>
